> Java > java지도 시간 > setSize() 대 setPreferredSize(): 언제 Java에서 어떤 메소드를 사용해야 합니까?

setSize() 대 setPreferredSize(): 언제 Java에서 어떤 메소드를 사용해야 합니까?

Patricia Arquette
풀어 주다: 2024-12-02 04:53:17
원래의
883명이 탐색했습니다.

setSize() vs. setPreferredSize(): When Should I Use Which Method in Java?

setSize()와 setPreferredSize()의 차이점 이해

Java에서 구성 요소 크기를 처리할 때 개발자는 종종 setSize() 및 setPreferredSize()라는 두 가지 메서드를 접하게 됩니다. . 두 메소드 모두 이름은 비슷하지만 동작과 사용법은 크게 다릅니다.

setSize()와 setPreferredSize():

주요 차이점은 구성 요소의 상위 메소드에 대한 레이아웃 관리자가 있다는 것입니다. 컨테이너.

  • setSize(): 이 메서드는 컨테이너의 크기를 재정의합니다. 상위 레이아웃 관리자와 상관없이 구성 요소를 직접적으로 사용할 수 있습니다. 일반적으로 상위 컨테이너에 레이아웃 관리자가 없거나 구성 요소의 특정 크기를 명시적으로 설정하려는 경우에 사용됩니다.
  • setPreferredSize(): 이 메서드는 구성 요소의 기본 크기를 제안합니다. 구성 요소. 상위 레이아웃 관리자는 이 정보를 사용하여 레이아웃 전략 내에서 구성 요소의 크기를 결정합니다. 레이아웃 관리자가 있고 구성 요소의 위치 지정 및 크기 조정을 담당할 때 사용됩니다.

사용 지침:

JFrame 및 JPanel:

  • JFrames(최상위 수준 windows): JFrames에는 기본적으로 레이아웃 관리자가 없으므로 setSize()를 사용합니다.
  • JPanels(레이아웃 관리자 포함): 레이아웃 관리자로 setPreferredSize()를 사용합니다. 선호하는 크기에 따라 패널의 크기를 결정합니다.

레이아웃 관리자:

  • 구성 요소의 상위에 레이아웃 관리자가 있는 경우: setPreferredSize()를 사용합니다.
  • 구성 요소의 상위에 레이아웃 관리자가 없는 경우(또는 정확한 크기를 원하는 경우) 크기 제어): 사용 setSize().

예:

// JFrame (no layout manager)
JFrame frame = new JFrame();
frame.setSize(500, 300); // Use setSize()

// JPanel (with FlowLayout manager)
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(100, 50)); // Use setPreferredSize()
frame.add(panel);
로그인 후 복사

이 예에서는 레이아웃 관리자가 없으므로 setSize()가 JFrame에 사용되는 반면 setPreferredSize()는 JFrame에 사용됩니다. FlowLayout 관리자 내부에 있기 때문에 JPanel에 사용됩니다.

위 내용은 setSize() 대 setPreferredSize(): 언제 Java에서 어떤 메소드를 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿