>  기사  >  Java  >  JDialog 크기 조정: SetMaximumSize가 작동하지 않는 이유는 무엇입니까?

JDialog 크기 조정: SetMaximumSize가 작동하지 않는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-23 22:40:02252검색

Resizing a JDialog: Why SetMaximumSize May Not Work?

JDialog의 최대 크기 설정

문제

JDialog가 포함된 JPanel의 콘텐츠에 따라 크기를 동적으로 조정하기를 원하지만 setMaximumSize 속성을 설정한 후에도 대화 상자의 크기는 지정된 최대값을 초과하여 계속 조정됩니다.

해결책

최대 크기 설정이 충분해 보일 수 있지만 JDialog, BorderLayout 및 MaximumSize 간의 색다른 상호 작용으로 인해 기능이 저하될 수 있습니다. . 대신, JList의 setVisibleRowCount 메소드 또는 getViewport().setPreferredSize(...)를 사용하여 기본 크기 설정에 대한 관련 정보를 제공하는 것을 고려해 보십시오.

아래 예에서 대화 상자 최대 N 행까지 JList를 표시하도록 크기를 조정합니다. 추가 버튼을 클릭하면 목록에 행이 추가되어 대화 상자가 최대 크기에 도달할 때까지 확장됩니다. 이때 스크롤바가 나타납니다.

<code class="java">public class ListDialog {

    // ...

    private void append() {
        model.addElement("String " + String.valueOf(++count));
        list.ensureIndexIsVisible(count - 1);
        if (count <= N) {
            list.setVisibleRowCount(count);
            dlg.pack();
        }
    }

    // ...
}</code>

위 내용은 JDialog 크기 조정: SetMaximumSize가 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.