레이아웃 관리자

Layout manager

레이아웃 관리자는 거리 단위를 사용하지 않고 그래픽 제어 요소를 상대 위치에 따라 배치할 수 있는 위젯 도구 키트에 사용되는 소프트웨어 구성 요소입니다.대부분의 경우 픽셀 또는 공통 거리 단위로 구성요소 배치를 정의하는 것보다 이러한 방식으로 정의하는 것이 더 자연스럽기 때문에 널리 사용되는 위젯 도구 키트에는 기본적으로 이 기능이 포함되어 있습니다.이 기능을 제공하는 위젯 도구 키트는 일반적으로 두 그룹으로 분류할 수 있습니다.

  • 레이아웃 동작이 특수 그래픽 컨테이너에서 코드화된 위치입니다.이것은 XUL 및 의 경우입니다.NET Framework 위젯 툴킷(Windows Forms 및 XAML 모두).
  • 레이아웃 관리자에서 레이아웃 동작이 코드화된 경우 그래픽 컨테이너에 적용할 수 있습니다.Java API의 일부인 Swing 위젯 툴킷이 이에 해당합니다.

XUL

XUL에서는 구성 요소를 서로 겹쳐 쌓는 vbox 컨테이너와 같습니다.

<?xml version="1.0"?> <?xml-stylesheet href="http://global/skin/" type="text/css"?>  <클라이언트> id="vbox 예시" title="예"         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">  <vbox>   <버튼 id="네" 라벨="네"/>   <버튼 id="아니요" 라벨="아니요"/>   <버튼 id="아마" 라벨="아마도"/> </vbox>  </filters> 

이 코드 조각은 수직 상자 안에 3개의 버튼이 겹쳐져 있는 것을 보여줍니다.

XAML

DockPanel 컨테이너는 Dock 속성에 따라 하위 구성요소를 배치합니다.

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" WindowTitle="myDockPanel"> <도크패널> <텍스트블록 도크패널>도킹 스테이션="위"상위 1 </TextBlock> <텍스트블록 독패널>도킹 스테이션="위"Top 2 </TextBlock> <텍스트블록 독패널>도킹 스테이션="위"Top 3 </TextBlock> <텍스트블록 독패널>도킹 스테이션="위"> Top 4 </TextBlock> </DockPanel> </페이지>

이 코드는 4개의 텍스트 블록이 서로 겹쳐져 있음을 나타냅니다.

자바

레이아웃 관리자는 문단의 텍스트 줄과 같이 구성요소를 방향 흐름으로 배열합니다.컴포넌트가 더 이상 같은 라인에 들어가지 않을 때까지 컴포넌트를 수평으로 배치한 후 다른 라인에 배치합니다.다른 레이아웃 매니저에는 컴포넌트를 그리드 형태로 배치하는 GridLayout 매니저와 컴포넌트를 프레임의 5개 부분에 배치하는 BorderLayout 매니저가 있습니다.즉, 남쪽, 북쪽, 서쪽, 동쪽 및 중앙입니다.

수입품 javax.displaces.displaces 를 클릭합니다.JFrame; 수입품 javax.displaces.displaces 를 클릭합니다.JButton; 수입품 java.awt.플로우 레이아웃; 수입품 java.awt.컨테이너.;  일반의 학급  {     사적인 JFrame ;      일반의 () {          = 신규 JFrame("FlowLayout 데모");         .set Default Close 조작(JFrame.종료_ON_닫기);         .set Layout(set Layout)(신규 플로우 레이아웃());         .더하다((신규 JButton("버튼 1")));         .더하다((신규 JButton("버튼 2")));         .더하다((신규 JButton("버튼 3")));         .더하다((신규 JButton("긴 이름 버튼 4")));         .더하다((신규 JButton("5")));         .포장하다();         .set Visible(진실의);     }      일반의 정적인 무효 주된(스트링[] args) {          ex = 신규 ();     } } 

이 코드는 같은 줄에 5개의 버튼을 나란히 표시합니다.

The FlowLayout example

외부 링크