Học phần: Lập trình hướng đối tượng Bài báo cáo: Giới thiệu JavaFX Giảng viên hướng dẫn: Thầy Nguyễn Mạnh Sơn Hà Nội, năm 2020 Mục lục Chương 1. 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. Các thành phần tương tác giao diện tích hợp 8 1. JavaFX Container Components 8 1.1. 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 2. JavaFX Controller Components 18 1.1. 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 3. Java Menu Components 33 1.1. MenuBar, Menu, MenuItem 33 1.2. CheckMenuItem, RadioMenuItem và SeparatorMenuItem 35 1.3. JavaFX ContextMenu 37 4. EventHandling 39 1.1. Foreground Events 39 1.2. Background Events 39 5. CSS 42 Chương 1. Tổng quan về JavaFX. JavaFX là gì? 1. Giới thiệu JavaFX • JavaFX là một bộ đồ họa và các gói media cho phép các nhà phát triển thiết kế, tạo ra, kiểm tra, gỡ lỗi và triển khai các ứng dụng khách giàu có hoạt động liên tục trên nhiều nền tảng khác nhau. • JavaFX là nền tảng để tạo và phân phối các ứng dụng dành cho máy tính để bàn cũng như các ứng dụng RIAs (Rich Internet Applications) có thể chạy trên nhiều thiết bị khác nhau. • JavaFX được phát triển bởi kỹ sư Chris Oliver, ban đầu dự án được đặt tên là F3 (Form Follows Functions). Sau đó vào năm 2005 thì Sun MicroSystems đã mua lại dự án F3 và đổi tên thành JavaFX. • JavaFX dự định thay thế hoàn toàn Swing làm thư viện GUI chuẩn cho Java SE. JavaFX hỗ trợ cho các máy tính để bàn và trình duyệt web trên nền tảng Windows, Linux và macOS. 2. Những ưu điểm nổi bật của ngôn ngữ lập trình JavaFX • JavaFX là một thư viện Java bao gồm các lớp và các giao diện được viết bằng mã Java nguyên gốc. • FXML là một ngôn ngữ khai báo dựa trên XML để xây dựng một giao diện người dùng trong ứng dụng JavaFX. Lập trình viên có thể sử dụng JavaFX Scene Builder để thiết kế giao diện đồ họa (GUI). • JavaFX có thể được tùy biến giao diện thêm sinh động bằng cách sử dụng CSS. • JavaFX hỗ trợ đồ họa 2D và 3D cũng như hỗ trợ âm thanh và video. • JavaFX còn có WebView dựa trên trình duyệt WebKit, vì vậy bạn có thể nhúng các trang web hoặc các ứng dụng web bên trong JavaFX. 3. Các tính năng chính • JAVA APIs: Các API được thiết kế để trở thành một thay thế thân thiện hơn cho các ngôn ngữ của máy ảo Java (Java VM) như là Jruby và Scala • FXML Và Scene Builder: FXML là một ngôn ngữ đánh dấu khai báo dựa trên XML nhằm cấu tạo nên giao diện ứng dụng JavaFX. Người dùng có thể code bằng FXML hoặc sử dụng JavaFX Scene Builder để tương tác và thiết kế giao diện đồ họa người dùng. Scene Builder tạo ra các đánh dấu (markup), các đánh dấu này sau đó có thể chuyển vào IDE các business logic • Webview: Một thành tố của web sử dụng công nghệ WebKitHTML giúp nhúng 1 trang web trong 1 ứng dụng JavaFX. JavaScript chạy trong WebView có thể gọi đến các JaVA API và ngược lại. • Tương tác với Swing: Các ứng dụng được tạo bằng Swing có thể được cập nhật thêm các tính năng của JavaFX • Builtin 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 dụng hoàn chỉnh. Các thành phần có thể thay đổi hình thức hiển thị thông qua CSS. • Canvas API • Hỗ trợ cảm ứng đa điểm ( Multitouch): • Hỗ trợ HiDPI: JavaFX hỗ trợ hiển thị với độ phần giải cao • Các phần mềm truyền thông hiệu xuất cao: Hỗ trợ xem các nội dung đã phương tiện trên web. Nó cung cấp 1 framework truyền thông ổn định, độ trễ thấp dựa trên GStreamer Multimedia Framework. • Mô hình triển khai ứng dụng độc lập: Các gói ứng dụng độc lập chứa tất cả các tài nguyên của ứng dụng và bản sao runtimes riêng của Java và JavaFX 4. Những gì có thể xây dựng với JavaFX Với JavaFX, ta có thể xây dựng nhiều loại ứng dụng. Thông thương, chúng là các ứng dụng nhận biết mạng được triển khai trên nhiều nền tảng và hiển thị thông tin trong một giao diện người dùng hiện đại hiệu năng cao có tính năng âm thanh, video, đồ họa và hình ảnh động. Các ứng dụng JavaFX Ứng dụng mẫu Miêu tả JavaFX Ensemble8 là một thư viện các ứng dụng mẫu minh họa rất nhiều các tính năng của JavaFX, bao gồm animation, biểu đồ và điều khiển. Bạn có thể xem và tương tác với mỗi ứng dụng mẫu đang chạy trên tất cả các nền tảng và đọc miêu tả của nó. Trên nền tảng máy tính, bạn có thể sao chép mã nguồn của từng mẫu, điều chỉnh các thuộc tính của các thành phần mẫu được sử dụng trong một vài mẫu và theo các liên kết tới tài liệu API có liên quan khi bạn kết nối với Internet. Modena là một ứng dụng mẫu thể hiện giao diện của các thành phần UI sử dụng Modena theme. Nó cho phép bạn lựa chọn đói chiếu các chủ đề của Modena và Caspian, và khám phá các khía cạnh khác nhau của các chủ đề này. 3DViewer là một ứng dụng mẫu cho phép bạn điều hướng và kiểm tra một 3D scene bằng cách di chuột. 3DViewer có bộ nhập các tập hợp con các tính năng trong OBJ và Maya files. Khả năng nhập animation cũng được cung cấp cho các tệp Maya. 3DViewer cũng hỗ trọ việc xuất nội dung của scene như là 1 file Java hoặc file FXML. 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à Node. Để tạo một chương trình JavaFX ta cần import class javafx.application.Application. Việc này cung cấp ta những phương thức trong ứng dụng JavaFX. o public void init(); o public abstract void start(Stage primaryStage); o public void stop(); Để tạo ra một chương trình JavaFX cơ bản ta cần: 1. Import javafx.application.Application vào code. 2. Kế thứa Application vào class của chương trình. 3. Override phương thức start() trong class Application . 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 trong JavaFX. Stage chính ban đầu được tạo bởi nền tảng. Các stage phát sinh sau có thể được tạo bằng ứng dụng. Các object trong Stage chính được chuyển tới phương thức start(). Ta cần gọi phương thức show() trong object của Stage chính để hiện stage chính lên màn hình. Stage chính có giao diện như sau: 2. SCENE Scene chứa các node trong chương trình JavaFX. Javafx.scene.Scene chưa tất cả các phương thức để sử dụng cho đối tượng trong scene. Scene được tạo ra nhằm hình tượng hóa nội dung trong stage. 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 phần trong stage. Nó có thể là nút, khung chữ, bố cục, hình ảnh, nút chỉnh âm thanh, check bov, vv... 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à node gốc cho các node còn lại trong scene graph.
Trang 1Họ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
Bài báo cáo:
Giới thiệu JavaFX
Giảng viên hướng dẫn: Thầy Nguyễn Mạnh Sơn
Hà Nội, năm 2020
Trang 2Mục lục
Chương 1 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 Các thành phần tương tác giao diện tích hợp 8
1 JavaFX Container Components 8
1.1 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
2 JavaFX Controller Components 18
1.1 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
3 Java Menu Components 33
1.1 MenuBar, Menu, MenuItem 33
1.2 CheckMenuItem, RadioMenuItem và SeparatorMenuItem 35
1.3 JavaFX ContextMenu 37
4 EventHandling 39
1.1 Foreground Events 39
1.2 Background Events 39
Trang 35 CSS 42
Chương 1 Tổng quan về JavaFX JavaFX là gì?
1 Giới thiệu JavaFX
JavaFX là một bộ đồ họa và các gói media cho phép các nhà phát triển thiết kế, tạo
ra, kiểm tra, gỡ lỗi và triển khai các ứng dụng khách giàu có hoạt động liên tục trên nhiều nền tảng khác nhau.
JavaFX là nền tảng để tạo và phân phối các ứng dụng dành cho máy tính để bàn cũng như các ứng dụng RIAs (Rich Internet Applications) có thể chạy trên nhiều thiết bị khác nhau.
JavaFX được phát triển bởi kỹ sư Chris Oliver, ban đầu dự án được đặt tên là F3 (Form Follows Functions) Sau đó vào năm 2005 thì Sun Micro-Systems đã mua lại
dự án F3 và đổi tên thành JavaFX
JavaFX dự định thay thế hoàn toàn Swing làm thư viện GUI chuẩn cho Java SE JavaFX hỗ trợ cho các máy tính để bàn và trình duyệt web trên nền tảng Windows, Linux và macOS.
2 Những ưu điểm nổi bật của ngôn ngữ lập trình JavaFX
JavaFX là một thư viện Java bao gồm các lớp và các giao diện được viết bằng mã Java nguyên gốc.
FXML là một ngôn ngữ khai báo dựa trên XML để xây dựng một giao diện người dùng trong ứng dụng JavaFX Lập trình viên có thể sử dụng JavaFX Scene Builder
để thiết kế giao diện đồ họa (GUI).
JavaFX có thể được tùy biến giao diện thêm sinh động bằng cách sử dụng CSS.
JavaFX hỗ trợ đồ họa 2D và 3D cũng như hỗ trợ âm thanh và video.
JavaFX còn có WebView dựa trên trình duyệt WebKit, vì vậy bạn có thể nhúng các trang web hoặc các ứng dụng web bên trong JavaFX.
3 Các tính năng chính
JAVA APIs: Các API được thiết kế để trở thành một thay thế thân thiện hơn cho
các ngôn ngữ của máy ảo Java (Java VM) như là Jruby và Scala
FXML Và Scene Builder: FXML là một ngôn ngữ đánh dấu khai báo dựa trên XML
nhằm cấu tạo nên giao diện ứng dụng JavaFX Người dùng có thể code bằng FXML hoặc sử dụng JavaFX Scene Builder để tương tác và thiết kế giao diện đồ họa người dùng Scene Builder tạo ra các đánh dấu (markup), các đánh dấu này sau đó
có thể chuyển vào IDE các business logic
Webview: Một thành tố của web sử dụng công nghệ WebKitHTML giúp nhúng 1
trang web trong 1 ứng dụng JavaFX JavaScript chạy trong WebView có thể gọi đến các JaVA API và ngược lại.
Tương tác với Swing: Các ứng dụng được tạo bằng Swing có thể được cập nhật
thêm các tính năng của JavaFX
Trang 4 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 dụng hoàn chỉnh Các thành phần có thể thay đổi hình thức hiển thị thông qua CSS.
Canvas API
Hỗ trợ cảm ứng đa điểm ( Multitouch):
Hỗ trợ HiDPI: JavaFX hỗ trợ hiển thị với độ phần giải cao
Các phần mềm truyền thông hiệu xuất cao: Hỗ trợ xem các nội dung đã phương
tiện trên web Nó cung cấp 1 framework truyền thông ổn định, độ trễ thấp dựa trên GStreamer Multimedia Framework.
Mô hình triển khai ứng dụng độc lập: Các gói ứng dụng độc lập chứa tất cả các tài
nguyên của ứng dụng và bản sao runtimes riêng của Java và JavaFX
4 Những gì có thể xây dựng với JavaFX
Với JavaFX, ta có thể xây dựng nhiều loại ứng dụng Thông thương, chúng là các ứng dụng nhận biết mạng được triển khai trên nhiều nền tảng và hiển thị thông tin trong một giao diện người dùng hiện đại hiệu năng cao có tính năng âm thanh, video, đồ họa
và hình ảnh động
Các ứng dụng JavaFX
JavaFX Ensemble8 là một thư viện các ứng dụng mẫu
minh họa rất nhiều các tính năng của JavaFX, bao gồm animation, biểu đồ và điều khiển Bạn có thể xem và tương tác với mỗi ứng dụng mẫu đang chạy trên tất cả các nền tảng và đọc miêu tả của nó Trên nền tảng máy tính, bạn có thể sao chép mã nguồn của từng mẫu, điều chỉnh các thuộc tính của các thành phần mẫu được sử dụng trong một vài mẫu và theo các liên kết tới tài liệu API có liên quan khi bạn kết nối với Internet
Modena là một ứng dụng mẫu thể hiện giao diện của các
thành phần UI sử dụng Modena theme Nó cho phép bạn lựa chọn đói chiếu các chủ đề của Modena và Caspian, và khám phá các khía cạnh khác nhau của các chủ đề này.
Trang 53DViewer là một ứng dụng mẫu cho phép bạn điều
hướng và kiểm tra một 3D scene bằng cách di chuột
3DViewer có bộ nhập các tập hợp con các tính năng trong OBJ và Maya files Khả năng nhập animation cũng được cung cấp cho các tệp Maya 3DViewer cũng hỗ trọ việc xuất nội dung của scene như là 1 file Java hoặc file FXML.
Trang 6Chươ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à
Node Để tạo một chương trình JavaFX ta cần import class javafx.application.Application Việc này cung cấp ta những phương thức trong
ứng dụng JavaFX.
o public void init();
o public abstract void start(Stage primaryStage);
o public void stop();
Để tạo ra một chương trình JavaFX cơ bản ta cần:
1 Import javafx.application.Application vào code.
2 Kế thứa Application vào class của chương trình.
3 Override phương thức start() trong class Application
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 trong JavaFX Stage chính ban đầu được tạo bởi nền tảng Các stage phát sinh sau có thể được tạo bằng ứng dụng Các object trong Stage chính được chuyển tới phương thức start() Ta cần gọi phương thức show() trong object của Stage chính để hiện stage chính lên màn hình Stage chính có giao diện như sau:
2 SCENE
Scene chứa các node trong chương trình JavaFX Javafx.scene.Scene chưa tất cả các phương thức để sử dụng cho đối tượng trong scene Scene được tạo ra nhằm hình tượng hóa nội dung trong stage.
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 phần trong stage Nó có thể là nút, khung chữ, bố cục, hình ảnh, nút chỉnh âm thanh, check bov, vv
Trang 7Cá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à node gốc cho các node còn lại trong scene graph.
Các node lá tồn tại ở mức thấp nhất trong cấu trúc cây Mỗi node đại diện cho các class trong gói javafx.scene do vậy ta cần import gói trên vào chương trình để tạo nên một
ứng dụng javafx hoàn chỉnh.
Trang 8Chươ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 người dùng toàn diện Giao diện người dùng đồ họa (GUI) làm cho chương trình thân thiện và dễ sử dụng Tạo ra một GUI yêu cầu sự sáng tạo và kiến thức về cách hoạt động của các điều khiển giao diện người dùng Vì giao diện người dùng kiểm soát trong JavaFX rất linh hoạt và đa năng, bạn có thể tạo ra nhiều loại giao diện người dùng hữu ích cho các ứng dụng GUI phong phú Oracle cung cấp các công cụ để thiết kế và phát triển GUI một cách trực quan Điều này cho phép lập trình viên nhanh chóng lắp ráp các phần tử của GUI với mã hóa tối thiểu Các công cụ, tuy nhiên, không thể làm mọi thứ Bạn phải sửa đổi các chương trình mà họ sản xuất Do đó, trước khi bạn bắt đầu để sử dụng các công
cụ trực quan, bạn phải hiểu các khái niệm cơ bản về lập trình JavaFX GUI.
1 JavaFX Container Components
JavaFX cung cấp một số bố cục được xác định trước như HBox, VBox, Border Pane, Stack Pane, Text Flow, Anchor Pane, Title Pane, Grid Pane, Flow Panel,v.v Mỗi bố cục được đề cập ở trên được đại diện bởi một lớp và tất cả các lớp này thuộc về gói javafx.layout Lớp có tên Pane là lớp cơ sở của tất cả các bố cục trong JavaFX.
Để tạo bố trí, ta cần:
- Tạo nút.
Trang 9- Khởi tạo tương ứng bố cục được yêu cầu.
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); Căn lề
Trang 10- setSpacing(distance); Tạo khoảng cách giữa các nút
Chương trình sau đây sẽ minh họa cách tạo ra một Hbox và Vbox đơn giản:
public void start(Stage primaryStage) throws Exception {
HBox root = new HBox();
Scene scene = new Scene(root, 550, 250);
primaryStage.setTitle("HBox Layout Demo");
Lớp FlowPane sắp xếp các nút được thêm vào trên một dòng theo thứ tự từ trái qua
phải Trong trường hợp dòng trên đã đầy, nút kế tiếp sẽ được đẩy xuống dòng dưới.
Trang 11Để điều chỉnh các thông số, ta có các phương thức:
- setPadding(); căn lề.
- setHgap(); tạo khoảng cách giữa các thành phần cùng dòng.
- setVgap(); tạo khoảng cách giữa các dòng;
Chương trình sau đây sẽ minh họa cách tạo ra một FlowPane đơn giản:
public void start(Stage primaryStage) throws Exception {
FlowPane root = new FlowPane();
Trang 12
Scene scene = new Scene(root, 550, 250);
primaryStage.setTitle("FlowPane Layout Demo");
GridPane chia bề mặt thành dạng một lưới, nút có thể nằm trong một ô của lưới hoặc
nhiều ô gần kề nhau của lưới.
Để điều chỉnh các thông số, ta có các phương thức:
- setPadding(); căn lề.
- setHgap(); tạo khoảng cách giữa các thành phần cùng dòng.
- setVgap(); tạo khoảng cách giữa các dòng;
Chương trình sau đây sẽ minh họa cách tạo ra một GridPane đơn giản:
public void start(Stage primaryStage) throws Exception {
GridPane root = new GridPane();
Trang 13
// Đặt vào ô lưới (0, 0) , bắc qua 2 cột, 1 dòng.
root.add(labelTitle, 0, 0, 2, 1);
Label labelUserName = new Label("User Name");
TextField fieldUserName = new TextField();
Label labelPassword = new Label("Password");
PasswordField fieldPassword = new PasswordField();
Button loginButton = new Button("Login");
Scene scene = new Scene(root, 300, 300);
primaryStage.setTitle("GridPanel Layout Demo ");
Các nút trong AnchorPane được neo bởi các vùng logic của AnchorPane.
Các vùng logic ở đây có thể là: lề trên dưới trái phải
Hình sau đây minh họa cho các nút được neo bởi các lề.
Trang 14Chương trình sau đây sẽ minh họa cách tạo ra một AnchorPane đơn giản:
public void start(Stage primaryStage) throws Exception {
AnchorPane root = new AnchorPane();
Button button1 = new Button("(B1) Top + Left + Right");
Button button2 = new Button("(B2) Top + Left + Right");
Button button3 = new Button("(B3) Top + Left + Right");
Button button4 = new Button("(B4) Top + Left + Right + Bottom");
// Thêm vào AnchorPane
root.getChildren().addAll(button1, button3, button2, button4);
Scene scene = new Scene(root, 550, 250);
primaryStage.setTitle("AnchorPane Layout Demo ");
Trang 15BorderPane phân chia bề mặt thành 5 vùng: top left right bottom.
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 đó để tối ưu hóa không gian.
Chương trình sau đây sẽ minh họa cách tạo ra một BorderPane đơn giản:
public void start(Stage primaryStage) throws Exception {
BorderPane root = new BorderPane();
// Set margin cho vùng top.
BorderPane.setMargin(btnTop, new Insets(10, 10, 10, 10));
// Set margin cho vùng left.
BorderPane.setMargin(btnLeft, new Insets(10, 10, 10, 10));
Trang 16// Set margin cho vùng right.
BorderPane.setMargin(btnRight, new Insets(10, 10, 10, 10));
// Set margin cho vùng bottom.
BorderPane.setMargin(btnBottom, new Insets(10, 10, 10, 10));
Scene scene = new Scene(root, 550, 250);
primaryStage.setTitle("BorderPane Layout Demo");
Dùng để nhắc nhở cho 1 phản hồi, ví dụ như cảnh báo.
Dialog là một hộp thoại sẽ nổi lên mỗi khi cần nhắc nhở cho một phản hồi cụ thể nào
đó, hộp thoại cảnh báo là một ví dụ
Alert dialog theo mặc định là một cửa sổ có thể thức (modelity)
là Modelity.WINDOW_MODAL Tuy nhiên bạn có thể thay đổi bằng cách sử dụng
Trang 171.8 ToolBar
Thanh công cụ thể hiện tường minh các chức năng mà ứng dụng có thể làm với đối
tượng mà bạn đang xử lý, điều này giúp giao diện trở nên dễ làm quen hơn với người dùng.
1.9 ProgressBar
Thanh tiến trình mô tả tiến độ của một công việc đang được xử lý trong ứng dụng JavaFX.
Trang 18Chương trình sau đây sẽ minh họa cách tạo ra một ProgressBar đơn giản:
public void start(Stage stage) {
ProgressBar progressBar = new ProgressBar();
ProgressIndicator progressIndicator = new ProgressIndicator();
FlowPane root = new FlowPane();
root.setPadding(new Insets(10));
root.setHgap(10);
root.getChildren().addAll(progressBar, progressIndicator);
Scene scene = new Scene(root, 400, 300);
stage.setTitle("JavaFX ProgressBar & ProgressIndicator ");
Label là vùng hiển thị cho một văn bản ngắn, một node hoặc cả hai Nó thường
được sử dụng để dán nhãn những điều khiển khác (thường là text fields).
Trang 19 Hàm khởi tạo (constructors):
Image image = new Image(input);
ImageView imageView = new ImageView(image);
// - Label 1
Label label1 = new Label("Label with Text & Icon");
Trang 20root.getChildren().addAll(label1, label2, label3, label4, label5);
Scene scene = new Scene(root, 400, 250);
primaryStage.setTitle("JavaFX Label (o7planning.org)");
Trang 21 Hàm khởi tạo (constructors):
Trang 22public void start(Stage primaryStage) throws Exception {
// TODO Auto-generated method stub
FileInputStream input=new FileInputStream("/home/javatpoint/Desktop/JavaFX/Images/colored_label.png");
Image image = new Image(input);
ImageView img=new ImageView(image);
DropShadow shadow = new DropShadow();
StackPane root = new StackPane();
Button btn=new Button();
public void handle(ActionEvent arg0) {
// TODO Auto-generated method stub
Trang 23 Hàm khởi tạo (constructors):
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);
Trang 24Scene scene=new Scene(root,800,200);
ChoiceBox chứa một danh sách các mục từ đó người dùng có thể chọn.
Hàm khởi tạo (constructors):
public void start(Stage primaryStage) {
Language vietnamese = new Language("vi", "Vietnamese", "Xin Chào");
Language english = new Language("en", "English", "Hello");
Language russian = new Language("ru", "Russian", "привет");
FlowPane root = new FlowPane();
Label label = new Label("Select Language:");
Label greetingLabel = new Label("");