java fx - other layouts
-Flow pane layout : window사이즈 작을시 부족하다고 내용 짤리지 않음. 다 내보냄.
wraps its children // when use? 얼마나 많은 children wrap 할지 모를때 씀.
-Vbox layout/ Hbox layout : window 사이즈 작으면 걍 내용 cut off (......child)
-Tile pane layout : same width (every cell), there are gap between every button, button의 글씨 가운데 정렬
내용 안짤림.
-Stack pane layout : 가운데 덮어씌어지며......(포토샵 이미지 같은거처럼 쓰일때 쓴다 생각)
간단 표 참고하면 좋을 듯.
-Flow pane layout : window사이즈 작아도 내용 짤리지 않음. 다 내보냄.
(orientation= HORIZONTAL 인경우 + button 추가)
코드
<?import javafx.scene.layout.FlowPane?>
<?import javafx.scene.control.Button?>
<FlowPane fx:controller = "sample.Controller"
xmlns:fx="http://javafx.com/fxml" orientation="HORIZONTAL">
<Button text = "Button One"/>
<Button text = "Button Two"/>
<Button text = "Button Three"/>
<Button text = "Button Four"/>
<Button text = "Button Five"/>
<Button text = "Button Six"/>
<Button text = "Button Seven"/>
</FlowPane>
-Flow pane layout
(orientation= VERTICAL 인경우 + button 추가)
-Vbox layout 인경우 - window사이즈 작으면 내용 짤림.
코드
<?import javafx.scene.layout.FlowPane?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.VBox?>
<VBox fx:controller = "sample.Controller"
xmlns:fx="http://javafx.com/fxml" >
<Button text = "Button One"/>
<Button text = "Button Two"/>
<Button text = "Button Three"/>
<Button text = "Button Four"/>
<Button text = "Button Five"/>
<Button text = "Button Six"/>
<Button text = "Button Seven"/>
</VBox>
-Tile pane layout : same width (every cell), there are gap between every button, button의 글씨 가운데 정렬
코드
<?import javafx.scene.layout.FlowPane?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.layout.TilePane?>
<TilePane fx:controller = "sample.Controller"
xmlns:fx="http://javafx.com/fxml" >
<Button text = "Button One"/>
<Button text = "Button Two"/>
<Button text = "Button Three"/>
<Button text = "Button Four"/>
<Button text = "Button Five"/>
<Button text = "Button Six"/>
<Button text = "Button Seven"/>
</TilePane>
-Stack pane layout : 가운데 덮어씌어지며......(포토샵 이미지 같은거처럼 쓰일때 쓴다 생각)
(배경색 추가 style=-fx-background-color : 색)
코드
<?import javafx.scene.layout.StackPane?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Button?>
<StackPane fx:controller="sample.Controller"
xmlns:fx="http://javafx.com/fxml">
<Label text="The label text" style="-fx-background-color:green"/>
<Button text="Button One" style="-fx-background-color: red"/>
<Label text="The second label text" style="-fx-background-color:blue"/>
</StackPane>
=========================================
Main
package sample;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
primaryStage.setTitle("Hello World");
primaryStage.setScene(new Scene(root, 500, 275));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}