JavaFX-레이아웃 창 (컨테이너)

장면에 필요한 모든 노드를 구성한 후 일반적으로 순서대로 정렬합니다.

컨테이너 내 구성 요소의 이러한 배열을 컨테이너의 레이아웃이라고합니다. 컨테이너 내의 특정 위치에 모든 구성 요소를 배치하는 것을 포함하므로 레이아웃을 따랐다 고 말할 수도 있습니다.

JavaFX는 다음과 같은 몇 가지 미리 정의 된 레이아웃을 제공합니다. HBox, VBox, Border Pane, Stack Pane, Text Flow, Anchor Pane, Title Pane, Grid Pane, Flow Panel

위에서 언급 한 각 레이아웃은 클래스로 표시되며 이러한 모든 클래스는 패키지에 속합니다. javafx.layout. 명명 된 클래스Pane JavaFX의 모든 레이아웃의 기본 클래스입니다.

레이아웃 생성

레이아웃을 생성하려면 다음을 수행해야합니다.

  • 노드를 만듭니다.
  • 필요한 레이아웃의 각 클래스를 인스턴스화합니다.
  • 레이아웃의 속성을 설정합니다.
  • 생성 된 모든 노드를 레이아웃에 추가합니다.

노드 생성

우선, 각각의 클래스를 인스턴스화하여 JavaFX 응용 프로그램의 필수 노드를 만듭니다.

예를 들어, 텍스트 필드와 두 개의 버튼 즉, HBox 레이아웃에서 재생하고 중지하려면 다음 코드 블록에 표시된대로 해당 노드를 먼저 만들어야합니다.

//Creating a text field 
TextField textField = new TextField();       

//Creating the play button 
Button playButton = new Button("Play");       

//Creating the stop button 
Button stopButton = new Button("stop");

각 클래스 인스턴스화

노드를 생성하고 모든 작업을 완료 한 후 필요한 레이아웃의 클래스를 인스턴스화합니다.

예를 들어 Hbox 레이아웃을 생성하려면 다음과 같이이 클래스를 인스턴스화해야합니다.

HBox hbox = new HBox();

레이아웃 속성 설정

클래스를 인스턴스화 한 후 각각의 setter 메서드를 사용하여 레이아웃의 속성을 설정해야합니다.

예를 들면-HBox 레이아웃에서 생성 된 노드 사이에 공간을 설정하려면 spacing이라는 속성에 값을 설정해야합니다. 이것은 setter 메서드를 사용하여 수행 할 수 있습니다.setSpacing() 아래와 같이-

hbox.setSpacing(10);

그룹에 모양 개체 추가

마지막으로 아래와 같이 생성자의 매개 변수로 전달하여 모양의 객체를 그룹에 추가해야합니다.

//Creating a Group object  
Group root = new Group(line);

레이아웃 창

다음은 JavaFX에서 제공하는 다양한 레이아웃 창 (클래스)입니다. 이러한 클래스는 패키지에 있습니다.javafx.scene.layout.

S. 아니 모양 및 설명
1 HBox

HBox 레이아웃은 애플리케이션의 모든 노드를 단일 가로 행으로 정렬합니다.

명명 된 클래스 HBox 패키지의 javafx.scene.layout 텍스트 가로 상자 레이아웃을 나타냅니다.

2 VBox

VBox 레이아웃은 애플리케이션의 모든 노드를 단일 수직 열에 정렬합니다.

명명 된 클래스 VBox 패키지의 javafx.scene.layout 텍스트 세로 상자 레이아웃을 나타냅니다.

BorderPane

Border Pane 레이아웃은 애플리케이션의 노드를 위쪽, 왼쪽, 오른쪽, 아래쪽 및 가운데 위치에 정렬합니다.

명명 된 클래스 BorderPane 패키지의 javafx.scene.layout 테두리 창 레이아웃을 나타냅니다.

4 StackPane

스택 창 레이아웃은 스택에서와 마찬가지로 애플리케이션의 노드를 다른 노드 위에 정렬합니다. 먼저 추가 된 노드는 스택의 맨 아래에 배치되고 다음 노드는 그 위에 배치됩니다.

명명 된 클래스 StackPane 패키지의 javafx.scene.layout 스택 창 레이아웃을 나타냅니다.

5 TextFlow

텍스트 흐름 레이아웃은 단일 흐름에서 여러 텍스트 노드를 정렬합니다.

명명 된 클래스 TextFlow 패키지의 javafx.scene.layout 텍스트 흐름 레이아웃을 나타냅니다.

6 AnchorPane

앵커 창 레이아웃은 창에서 특정 거리에 애플리케이션의 노드를 고정합니다.

명명 된 클래스 AnchorPane 패키지의 javafx.scene.layout 앵커 창 레이아웃을 나타냅니다.

7 TilePane

Tile Pane 레이아웃은 균일 한 크기의 타일 형태로 애플리케이션의 모든 노드를 추가합니다.

명명 된 클래스 TilePane 패키지의 javafx.scene.layout TilePane 레이아웃을 나타냅니다.

8 GridPane

Grid Pane 레이아웃은 애플리케이션의 노드를 행과 열의 그리드로 정렬합니다. 이 레이아웃은 JavaFX를 사용하여 양식을 만드는 동안 편리합니다.

명명 된 클래스 GridPane 패키지의 javafx.scene.layout GridPane 레이아웃을 나타냅니다.

9 FlowPane

흐름 패널 레이아웃은 흐름의 모든 노드를 래핑합니다. 수평 흐름 창은 창의 요소를 높이로 감싸고 수직 흐름 창은 요소를 너비로 감 쌉니다.

명명 된 클래스 FlowPane 패키지의 javafx.scene.layout 흐름 창 레이아웃을 나타냅니다.