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 중국어 웹사이트의 기타 관련 기사를 참조하세요!