Gridpane bottom dùng như thế nào
Học Viện Cơng Nghệ Bưu Chính Viễn Thơng
Khoa: Cơng Nghệ Thơng Tin Học phần: Lập trình hướng đối tượng Giới thiệu JavaFX Hà Nội, năm 2020 Mục lục Tổng quan về JavaFX. JavaFX là gì?..................................................................................3 1. Giới thiệu JavaFX........................................................................................................................3 2. Những ưu điểm nổi bật của ngơn ngữ lập trình JavaFX...............................................................3 3. Các tính năng chính.....................................................................................................................3 4. Những gì có thể xây dựng với JavaFX..........................................................................................4 Chương 2. Cấu Trúc Ứng Dụng JavaFX...............................................................................................6 1. STAGE.........................................................................................................................................6 2. SCENE.........................................................................................................................................6 3. SCENE GRAPH.............................................................................................................................6 Chương 3. 2. 3. 4. Các thành phần tương tác giao diện tích hợp..................................................................8 JavaFX Container Components....................................................................................................8 Tổng quan về Container:......................................................................................................8 1.2. Hbox và VBox:.....................................................................................................................9 1.3. FlowPane...........................................................................................................................10 1.4. GridPane:..........................................................................................................................11 1.5. AnchorPane.......................................................................................................................13 1.6. BorderPane.......................................................................................................................14 1.7. Dialog(hộp thoại)..............................................................................................................16 1.8. ToolBar..............................................................................................................................16 1.9. ProgressBar.......................................................................................................................17 JavaFX Controller Components.................................................................................................18 Label.................................................................................................................................18 1.2. Button...............................................................................................................................19 1.3. CheckBox...........................................................................................................................21 1.4. ChoiceBox.........................................................................................................................23 1.5. TextField............................................................................................................................24 1.6. TextArea............................................................................................................................26 1.7. PasswordField...................................................................................................................28 1.8. Slider.................................................................................................................................29 1.9. Table.................................................................................................................................30 Java Menu
Components............................................................................................................33 MenuBar, Menu, MenuItem..............................................................................................33 1.2. CheckMenuItem, RadioMenuItem và SeparatorMenuItem...............................................35 1.3. JavaFX ContextMenu.........................................................................................................37 EventHandling...........................................................................................................................39 Foreground Events............................................................................................................39 1.2. Background
Events............................................................................................................39 5. CSS............................................................................................................................................42 Chương 1. 2. Những ưu điểm nổi bật của ngơn ngữ lập trình JavaFX 3. Các tính năng chính Built-in UI controls (Các thành phần tương tác giao diện tích hợp ) và CSS: JavaFX cung cấp tất cả các UI controls thông dụng nhất giúp người dùng tạo nên một ứng Miêu tả Modena là một ứng dụng mẫu thể hiện giao diện của các 4|Page 3DViewer là một ứng dụng mẫu cho phép bạn điều 5|Page Chương 2. Cấu Trúc Ứng Dụng JavaFX Chương trình JavaFX được phân bậc thành
3 thành tố chính: Stage, Scene và 1. Import javafx.application.Application vào code. 1. STAGE Tương tự như Frame trong Swing, nó tạo ra một phần chứa tất cả các object 2. SCENE Scene chứa các node trong chương
trình JavaFX. Javafx.scene.Scene chưa 3. SCENE GRAPH Tồn tại ở hình thức đơn giản nhất. là tập hợp của các node. Các node là nhưng thành Các node được mơ tả bởi một cấu trúc hình cây. Nó bao gồm một node mẹ có vai trị là Chương 3. Các thành phần tương tác giao diện tích hợp JavaFX cung cấp nhiều điều khiển giao diện người dùng để phát triển giao diện 1. JavaFX Container Components gồm việc đặt tất cả các thành phần ở một vị trí cụ thể trong container. Tạo nút. - Khởi tạo tương ứng bố cục được yêu cầu. - Đặt thuộc tính của bố trí. - Thêm tất cả các nút vào bố cục. Chúng ta sẽ đề cập đến các bố cục được dùng phổ biến trong JavaFX. 1.2. Hbox và VBox: Tương tự như Hbox, nhưng Vbox sắp xếp các nút thành một hàng dọc. Hbox và Vbox dùng chung nhiều phương thức: setPadding(top, right, bottom, left); Chương trình sau đây sẽ minh họa cách tạo ra một Hbox và Vbox đơn giản: javafx.application.Application; javafx.stage.Stage; public class HBoxDemo extends Application { public static void
main(String[] args) { 1.3. FlowPane - Để điều chỉnh các thơng số, ta có các phương thức: javafx.application.Application; javafx.scene.control.Button; public class FlowPaneDemo extends Application { root.getChildren().add(radioButton); primaryStage.setTitle("FlowPane Layout Demo"); 1.4. GridPane: - Để điều chỉnh các thơng số, ta có các phương thức: Chương trình sau đây sẽ minh họa cách tạo ra một GridPane đơn giản: import javafx.application.Application; public class GridPaneDemo extends Application { Label labelUserName = new Label("User Name"); 1.5. AnchorPane Chương trình sau đây sẽ minh họa cách tạo ra một AnchorPane đơn giản: javafx.application.Application; public class AnchorPaneDemo extends Application
{ AnchorPane.setRightAnchor(button1,
70.0); } 1.6. BorderPane Trong trường hợp có vùng
bị trống, các vùng lân cận sẽ chiếm chỗ lấy vùng trống đó để javafx.application.Application; public class BorderPaneDemo extends Application
{ BorderPane.setMargin(btnTop, new Insets(10, 10, 10, 10)); // Căn lề. primaryStage.setTitle("BorderPane Layout Demo"); 1.7. Dialog(hộp thoại) Hộp thoại cảnh báo thường sẽ có 2 vùng chính: 1.8. ToolBar 1.9.
ProgressBar Chương trình sau đây sẽ minh họa cách tạo ra một ProgressBar đơn giản: import javafx.application.Application; public class
ProgressDemo extends Application { root.setPadding(new Insets(10)); 2. JavaFX Controller Components Hàm khởi tạo (constructors): Các hàm quan trọng: o setAlignment(Object Chương trình sau đây sẽ minh họa cách tạo ra một Label đơn giản: javafx.application.Application; javafx.scene.image.Image; public class LabelFullDemo extends Application { // ------ Label 5 ----- Label label5 = new Label("Scale me!!"); }} 1.2. Button Hàm khởi tạo (constructors): o setContentDisplay(Object o setGraphic(Object o setGraphicTextGap(Double); o setTextFill(Object o setText(String); o setUnderline(Boolean); o setWrapText(Boolean); Chương trình sau đây sẽ minh họa cách tạo ra một Button đơn giản: import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.effect.DropShadow; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class ButtonTest extends Application { @Override public void start(Stage primaryStage) throws Exception { // TODO Auto-generated method stub FileInputStream input=new FileInputStream("/home/javatpoint/Desktop/JavaFX/Images/colo red_label.png"); Image image = new Image(input); ImageView img=new ImageView(image); DropShadow shadow = new DropShadow(); StackPane root = new StackPane(); Button btn=new Button(); btn.setEffect(shadow); btn.setGraphic(img); btn.setWrapText(true); btn.setOnAction(new EventHandler @Override public void handle(ActionEvent arg0) { // TODO Auto-generated method stub System.out.println("Button clicked"); } } ); Scene scene=new Scene(root,300,300); root.getChildren().add(btn); primaryStage.setScene(scene); primaryStage.setTitle("Button Class Example"); primaryStage.show(); } public static void main(String[] args) { launch(args); } } 1.3. CheckBox Hàm khởi tạo (constructors): Các hàm quan
trọng: setSelected(Boolean) setOnAction(Object Chương trình sau đây sẽ minh họa cách tạo ra một CheckBox đơn giản: import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.CheckBox; import javafx.scene.control.Label; import javafx.scene.layout.HBox; import javafx.stage.Stage; public class CheckBoxTest extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) throws Exception { // TODO Auto-generated method stub Label l = new Label("What do you listen: CheckBox c1 = new CheckBox("Radio one"); CheckBox c2 = new CheckBox("Radio Mirchi"); CheckBox c3 = new CheckBox("Red FM"); CheckBox c4 = new CheckBox("FM GOLD"); HBox root = new HBox(); root.getChildren().addAll(l,c1,c2,c3,c4); root.setSpacing(5); Scene scene=new Scene(root,800,200); primaryStage.setScene(scene); "); primaryStage.setTitle("CheckBox Example"); primaryStage.show(); } } 1.4. ChoiceBox Hàm khởi tạo (constructors): o ChoiceBox(items:
ObservableList javafx.application.Application; javafx.beans.value.ChangeListener; javafx.beans.value.ObservableValue; javafx.collections.FXCollections; javafx.collections.ObservableList; javafx.geometry.Insets; javafx.scene.Scene; javafx.scene.control.ChoiceBox; javafx.scene.control.Label; javafx.scene.layout.FlowPane; javafx.stage.Stage; public class ChoiceBoxEventDemo extends Application { ChangeListener greetingLabel.setText(newValue.getGreeting()); } } }; // Selected Item Changed. choiceBox.getSelectionModel().selectedItemProperty().addListener(changeListene r); root.setPadding(new Insets(10)); root.getChildren().addAll(label, choiceBox, greetingLabel); root.setPadding(new Insets(10)); root.setHgap(10); primaryStage.setTitle("ChoiceBox (o7planning.org)"); Scene scene = new Scene(root, 400, 300); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } } 1.5.
TextField Hàm khởi tạo (constructors): o o o o o o o setAlignment(Object editable(Boolean) clear() copy() cut() |