Java/javaFX & Scene Builder
7주차 - javaFX (4) BorderPane 응용
우젼
2022. 9. 7. 19:28
이번의 목표
01. BorderPane을 응용해보자.
이번에는 지난 시간에 공부했던 BorderPane의 다른 예제를 알아볼 것입니다.
01. java 코드
02. fxml 코드
03. 실행화면
01. java 코드
public class Ex4 extends Application{
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
FXMLLoader loader = new FXMLLoader(getClass().getResource("Ex4.fxml"));
Parent form = loader.load();
Scene scene = new Scene(form);
primaryStage.setScene(scene);
primaryStage.setTitle("Ex4");
primaryStage.show();
}
}
02. fxml 파일의 코드
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="507.0" prefWidth="778.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ex1.Ex4">
<top>
<HBox alignment="CENTER" prefHeight="62.0" prefWidth="778.0" spacing="80.0" BorderPane.alignment="CENTER">
<children>
<Label text="홈" />
<Label text="사회" />
<Label text="경제" />
<Label text="국제" />
<Label text="문화" />
</children>
</HBox>
</top>
<left>
<VBox alignment="CENTER" prefHeight="200.0" prefWidth="100.0" spacing="50.0" BorderPane.alignment="CENTER">
<children>
<Label text="카테고리" />
<Label text="노트북/PC" />
<Label text="자동차용품" />
<Label text="휴대폰" />
<Label text="캠핑/낚시" />
</children>
</VBox>
</left>
<center>
<VBox prefHeight="368.0" prefWidth="171.0" spacing="10.0" BorderPane.alignment="CENTER">
<children>
<HBox prefHeight="24.0" prefWidth="266.0" spacing="20.0">
<children>
<Label text="ID" />
<TextField prefHeight="23.0" prefWidth="143.0" />
</children>
</HBox>
<HBox prefHeight="29.0" prefWidth="266.0" spacing="15.0">
<children>
<Label text="PW" />
<TextField prefHeight="23.0" prefWidth="144.0" />
</children>
</HBox>
<HBox prefHeight="25.0" prefWidth="200.0" spacing="10.0">
<children>
<RadioButton fx:id="radio" mnemonicParsing="false" text="여">
<toggleGroup>
<ToggleGroup fx:id="genGroup" />
</toggleGroup></RadioButton>
<RadioButton fx:id="radio" mnemonicParsing="false" text="남" toggleGroup="$genGroup" />
</children>
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding>
</HBox>
<HBox prefHeight="44.0" prefWidth="266.0" spacing="10.0">
<children>
<CheckBox mnemonicParsing="false" text="게임" />
<CheckBox mnemonicParsing="false" text="공부" />
</children>
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding>
</HBox>
<Label text="하고 싶은 말" />
<TextArea prefHeight="100.0" prefWidth="234.0" wrapText="true" />
</children>
<padding>
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
</padding>
</VBox>
</center>
<right>
<VBox prefHeight="407.0" prefWidth="355.0" BorderPane.alignment="CENTER">
<children>
<GridPane hgap="10.0" vgap="10.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<TextField prefHeight="25.0" GridPane.valignment="BOTTOM" />
<PasswordField prefHeight="25.0" GridPane.rowIndex="1" GridPane.valignment="TOP" />
<Button mnemonicParsing="false" prefHeight="60.0" prefWidth="80.0" text="로그인" GridPane.columnIndex="1" GridPane.rowSpan="2" />
</children>
</GridPane>
</children>
<padding>
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
</padding>
</VBox>
</right>
</BorderPane>
03. 실행 화면