Trong bài học này, chúng ta sẽ thảo luận chi tiết về cấu trúc của một ứng dụng JavaFX và cũng tìm hiểu cách tạo một ứng dụng JavaFX với một ví dụ.
Tóm Tắt
Cấu trúc ứng dụng JavaFX
Nói chung, một ứng dụng JavaFX sẽ có ba thành phần chính là Stage, Scene và Nodes như trong sơ đồ sau.
Stage (Sân khấu)
Giai đoạn (một cửa sổ) chứa tất cả các đối tượng của ứng dụng JavaFX. Nó được đại diện bởi lớp Stage của gói javafx.stage. Stage chính được tạo bởi chính nền tảng của nó. Đối tượng stage đã tạo sẽ được truyền như một đối số cho phương thức start() của lớp Application (được giải thích trong phần tiếp theo).
Mỗi sân khấu có hai tham số xác định vị trí của nó là Width và Height. Nó được chia thành Content Area (Khu vực nội dung) và Decoration (Trang trí) (Thanh tiêu đề và Đường viền).
Có năm loại sân khấu có sẵn:
- Trang trí
- Chưa trang trí
- Trong suốt
- Thống nhất
- Tiện ích
Bạn phải gọi phương thức show() để hiển thị nội dung của một vùng.
Scene (Bối cảnh)
Một bối cảnh tượng trưng cho nội dung vật lý của một ứng dụng JavaFX. Nó chứa tất cả nội dung của một biểu đồ cảnh. Lớp Scene của gói javafx.scene đại diện cho đối tượng cảnh. Tại một thể hiện, đối tượng cảnh chỉ được thêm vào một giai đoạn.
Bạn có thể tạo một cảnh bằng cách khởi tạo Lớp Scene. Bạn có thể chọn kích thước của cảnh bằng cách truyền kích thước của nó (chiều cao và chiều rộng) cùng với nút gốc tới hàm tạo của nó.
Scene Graph và Node
Một đồ thị cảnh là một cây-giống như cấu trúc dữ liệu (thứ bậc) thể hiện nội dung của một cảnh. Ngược lại, một nút là một đối tượng trực quan/đồ họa của biểu đồ cảnh.
Một nút có thể bao gồm:
- Các đối tượng Hình học (Đồ họa) (2D và 3D) như – Hình tròn, Hình chữ nhật, Đa giác, v.v.
- Điều khiển giao diện người dùng như – Nút, Hộp kiểm, Hộp lựa chọn, Vùng văn bản, v.v.
- Các vùng chứa (Ngăn bố cục) chẳng hạn như Border Pane, Grid Pane, Flow Pane, v.v.
- Các phần tử media như Đối tượng Âm thanh, Video và Hình ảnh.
Lớp Node của gói javafx.scene đại diện cho một nút trong JavaFX, lớp này là siêu lớp của tất cả các nút.
Như đã thảo luận trước đó, một nút có ba loại:
- Nút gốc – Đồ thị cảnh đầu tiên được gọi là nút gốc.
- Nút nhánh/Nút cha – Nút có các nút con được gọi là nút nhánh/nút cha. Lớp trừu tượng có tên là Parent của gói javafx.scene là lớp cơ sở của tất cả các nút cha và các nút cha đó sẽ thuộc các loại sau:
- Nhóm – Nút nhóm là một nút tập hợp có chứa danh sách các nút con. Bất cứ khi nào nút nhóm được hiển thị, tất cả các nút con của nó được hiển thị theo thứ tự. Mọi biến đổi, trạng thái hiệu ứng được áp dụng trên nhóm sẽ được áp dụng cho tất cả các nút con.
- Vùng – Đây là lớp cơ sở của tất cả các Điều khiển giao diện người dùng dựa trên Node JavaFX, chẳng hạn như Biểu đồ, Ngăn và Điều khiển.
- WebView – Nút này quản lý công cụ web và hiển thị nội dung của nó.
- Nút lá – Nút không có nút con được gọi là nút lá. Ví dụ, Rectangle, Ellipse, Box, ImageView, MediaView là các ví dụ về các nút lá.
Bắt buộc phải chuyển nút gốc vào đồ thị cảnh. Nếu Nhóm được chuyển làm gốc, tất cả các nút sẽ được cắt bớt vào cảnh và bất kỳ thay đổi nào về kích thước của cảnh sẽ không ảnh hưởng đến bố cục của cảnh.
Tạo một ứng dụng JavaFX
Để tạo một ứng dụng JavaFX, bạn cần khởi tạo lớp Application và triển khai phương thức trừu tượng start() của nó. Trong phương thức này, chúng ta sẽ viết mã cho Ứng dụng JavaFX.
Lớp Application
Lớp Application của gói javafx.application là điểm đầu vào của ứng dụng trong JavaFX. Để tạo một ứng dụng JavaFX, bạn cần kế thừa lớp này và triển khai phương thức trừu tượng start() của nó. Trong phương thức này, bạn cần viết toàn bộ mã cho đồ họa JavaFX
Trong phương thức main, bạn phải khởi chạy ứng dụng bằng phương thức launch() . Phương thức này gọi nội bộ phương thức start() của lớp Application như được hiển thị trong chương trình sau.
public
class
JavafxSample
extends
Application
{
@Override
public
void
start
(
Stage
primaryStage
)
throws
Exception
{
/* Code for JavaFX application. (Stage, scene, scene graph) */
}
public
static
void
main
(
String
args
[]){
launch
(
args
);
}
}
Trong phương thức start(), để tạo một ứng dụng JavaFX điển hình, bạn cần làm theo các bước dưới đây:
- Chuẩn bị một biểu đồ cảnh với các nút cần thiết.
- Chuẩn bị một Cảnh với các kích thước cần thiết và thêm đồ thị cảnh (nút gốc của đồ thị cảnh) vào đó.
- Chuẩn bị sân khấu và thêm cảnh vào sân khấu và hiển thị nội dung của sân khấu.
Chuẩn bị đồ thị cảnh
Theo ứng dụng của bạn, bạn cần chuẩn bị một biểu đồ cảnh với các nút bắt buộc. Vì nút gốc là nút đầu tiên, bạn cần tạo một nút gốc. Là một nút gốc, bạn có thể chọn từ Nhóm, Vùng hoặc WebView.
Nhóm – Một nút Nhóm được đại diện bởi lớp có tên Nhóm thuộc gói javafx.scene, bạn có thể tạo nút Nhóm bằng cách khởi tạo lớp này như hình dưới đây.
Group root = new Group();
Phương thức getChildren() của lớp Group cung cấp cho bạn một đối tượng của lớp ObservableList chứa các nút. Chúng ta có thể lấy đối tượng này và thêm các nút vào nó như hình dưới đây.
//Retrieving the observable list object ObservableList list = root.getChildren(); //Setting the text object as a node list.add(NodeObject);
Chúng ta cũng có thể thêm các đối tượng Node vào nhóm, chỉ bằng cách chuyển chúng đến lớp Nhóm và phương thức khởi tạo của nó tại thời điểm khởi tạo, như được hiển thị bên dưới.
Group root = new Group(NodeObject);
Vùng – Nó là lớp Cơ sở của tất cả các Điều khiển giao diện người dùng dựa trên Node JavaFX, chẳng hạn như:
- Biểu đồ – Lớp này là lớp cơ sở của tất cả các biểu đồ và nó thuộc về gói javafx.scene.chart.
- Lớp này có hai lớp con, đó là – PieChart và XYChart. Hai lớp này lần lượt có các lớp con như AreaChart, BarChart, BubbleChart , v.v. được sử dụng để vẽ các loại Biểu đồ XY-Plane khác nhau trong JavaFX.
- Bạn có thể sử dụng các lớp này để nhúng biểu đồ vào ứng dụng của mình.
- Pane – Pane là lớp cơ sở của tất cả các ngăn bố cục như AnchorPane, BorderPane, DialogPane , v.v. Lớp này thuộc về một gói được gọi là – javafx.scene.layout.
- Bạn có thể sử dụng các lớp này để chèn các bố cục được xác định trước trong ứng dụng của mình.
- Control – Đây là lớp cơ sở của các điều khiển Giao diện Người dùng như Accordion, ButtonBar, ChoiceBox, ComboBoxBase, HTMLEditor, v.v. Lớp này thuộc về gói javafx.scene.control.
Bạn có thể sử dụng các lớp này để chèn các phần tử giao diện người dùng khác nhau trong ứng dụng của mình.
Trong một Nhóm, bạn có thể khởi tạo bất kỳ lớp nào trong số các lớp được đề cập ở trên và sử dụng chúng làm nút gốc, như được hiển thị trong chương trình sau.
//Creating a Stack Pane StackPane pane = new StackPane(); //Adding text area to the pane ObservableList list = pane.getChildren(); list.add(NodeObject);
WebView – Nút này quản lý công cụ web và hiển thị nội dung của nó.
Sau đây là một sơ đồ đại diện cho hệ thống phân cấp lớp nút của JavaFX.
Chuẩn bị cảnh
Một cảnh JavaFX được đại diện bởi lớp Cảnh của gói javafx.scene. Bạn có thể tạo một Cảnh bằng cách khởi tạo lớp này như được hiển thị trong khối code sau đây.
Trong khi khởi tạo, bắt buộc phải truyền đối tượng gốc cho hàm tạo của lớp cảnh.
Scene scene = new Scene(root);
Bạn cũng có thể truyền hai tham số kiểu kép đại diện cho chiều cao và chiều rộng của cảnh như hình dưới đây.
Scene scene = new Scene(root, 600, 300);
Chuẩn bị sân khấu
Đây là vùng chứa của bất kỳ ứng dụng JavaFX nào và nó cung cấp một cửa sổ cho ứng dụng. Nó được đại diện bởi lớp Stage của gói javafx.stage. Một đối tượng của lớp này được truyền dưới dạng tham số của phương thức start() của lớp Application.
Sử dụng đối tượng này, bạn có thể thực hiện các thao tác khác nhau trên sân khấu. Trước hết, bạn có thể thực hiện những điều sau:
- Đặt tiêu đề cho vùng hiển thị bằng phương thức setTitle().
- Đính kèm đối tượng cảnh vào vùng hiển thị bằng phương thức setScene().
- Hiển thị nội dung của cảnh bằng phương thức show() như hình dưới đây.
//Setting the title to Stage. primaryStage.setTitle("Sample application"); //Setting the scene to Stage primaryStage.setScene(scene); //Displaying the stage primaryStage.show();
Vòng đời của ứng dụng JavaFX
Lớp Application JavaFX có ba phương thức vòng đời, đó là:
- start() – Phương thức điểm nhập nơi mã đồ họa JavaFX sẽ được viết.
- stop() – Một phương thức trống có thể bị ghi đè, ở đây bạn có thể viết logic để dừng ứng dụng.
- init() – Một phương thức trống có thể được ghi đè, nhưng bạn không thể tạo sân khấu hoặc cảnh trong phương thức này.
Ngoài ra, nó còn cung cấp một phương thức static có tên là launcher() để khởi chạy ứng dụng JavaFX.
Vì phương thức launch() là tĩnh, bạn cần phải gọi nó từ một ngữ cảnh tĩnh (nói chung là hàm main). Bất cứ khi nào một ứng dụng JavaFX được khởi chạy, các hành động sau sẽ được thực hiện (theo cùng một thứ tự):
- Một thể hiện của lớp ứng dụng được tạo.
- Phương thức init() được gọi.
- Phương thức start() được gọi.
- Trình khởi chạy đợi ứng dụng hoàn tất và gọi phương thức stop() .
Chấm dứt ứng dụng JavaFX
Khi cửa sổ cuối cùng của ứng dụng bị đóng, ứng dụng JavaFX sẽ bị kết thúc hoàn toàn. Bạn có thể tắt hành vi này bằng cách chuyển giá trị Boolean “False” cho phương thức tĩnh setImplicitExit() (nên được gọi từ ngữ cảnh tĩnh).
Bạn có thể kết thúc ứng dụng JavaFX một cách rõ ràng bằng các phương thức Platform.exit() hoặc System.exit(int).
Ví dụ 1 – Tạo một cửa sổ trống
Phần này hướng dẫn bạn cách tạo một ứng dụng mẫu JavaFX hiển thị một cửa sổ trống. Sau đây là các bước:
Bước 1: Tạo lớp
Tạo một lớp Java và kế thừa lớp Application của gói javafx.application và triển khai phương thức start() của lớp này như sau.
public
class
JavafxSample
extends
Application
{
@Override
public
void
start
(
Stage
primaryStage
)
throws
Exception
{
}
}
Bước 2: Tạo đối tượng của Group
Trong phương thức start() tạo một đối tượng nhóm bằng cách khởi tạo lớp có tên Group, thuộc về gói javafx.scene, như sau:
Group root = new Group();
Bước 3: Tạo một đối tượng cảnh
Tạo một Cảnh bằng cách khởi tạo lớp có tên Scene thuộc về gói javafx.scene. Đối với lớp này, hãy chuyển đối tượng Group (gốc), được tạo ở bước trước.
Ngoài đối tượng gốc, bạn cũng có thể truyền hai tham số kép đại diện cho chiều cao và chiều rộng của màn hình cùng với đối tượng của lớp Group như sau:
Scene scene = new Scene(root,600, 300);
Bước 4: Đặt tiêu đề của sân khấu
Bạn có thể đặt tiêu đề cho vùng hiển thị bằng phương thức setTitle() của lớp Stage. primaryStage là một đối tượng của lớp Stage được truyền cho phương thức khởi đầu của lớp cảnh, như một tham số.
Sử dụng đối tượng primaryStage, đặt tiêu đề của cảnh là Ứng dụng mẫu như hình dưới đây.
primaryStage.setTitle("Ứng dụng mẫu");
Bước 5: Thêm cảnh vào sân khấu
Bạn có thể thêm một đối tượng Scene vào sân khấu bằng cách sử dụng phương thức setScene() của lớp có tên Stage. Thêm đối tượng Scene đã chuẩn bị ở các bước trước bằng cách sử dụng phương pháp này như sau:
primaryStage.setScene(scene);
Bước 6: Hiển thị nội dung của sân khấu
Hiển thị nội dung của cảnh bằng phương thức có tên show() của lớp Stage như sau:
primaryStage.show();
Bước 7: Khởi chạy ứng dụng
Khởi chạy ứng dụng JavaFX bằng cách gọi phương thức tĩnh launch() của lớp Application từ phương thức main như sau:
public
static
void
main
(
String
args
[]){
launch
(
args
);
}
Ví dụ
Chương trình sau tạo một cửa sổ JavaFX trống. Lưu mã này trong một tệp có tên JavafxSample.java:
import
javafx
.
application
.
Application
;
import
javafx
.
scene
.
Group
;
import
javafx
.
scene
.
Scene
;
import
javafx
.
scene
.
paint
.
Color
;
import
javafx
.
stage
.
Stage
;
public
class
JavafxSample
extends
Application
{
@Override
public
void
start
(
Stage
primaryStage
)
throws
Exception
{
//creating a Group object
Group
group
=
new
Group
();
//Creating a Scene by passing the group object, height and width
Scene
scene
=
new
Scene
(
group
,
600
,
300
);
//setting color to the scene
scene
.
setFill
(
Color
.
BROWN
);
//Setting the title to Stage.
primaryStage
.
setTitle
(
"Sample Application"
);
//Adding the scene to Stage
primaryStage
.
setScene
(
scene
);
//Displaying the contents of the stage
primaryStage
.
show
();
}
public
static
void
main
(
String
args
[]){
launch
(
args
);
}
}
Biên dịch và thực thi tệp java đã lưu từ dấu nhắc lệnh bằng các lệnh sau:
javac JavafxSample.java java JavafxSample
Khi thực thi, chương trình trên tạo ra một cửa sổ JavaFX như hình dưới đây.
Ví dụ 2 – Vẽ một đường thẳng
Trong ví dụ trên, chúng ta đã xem cách tạo một sân khấu trống, bây giờ trong ví dụ này, chúng ta hãy thử vẽ một đường thẳng bằng cách sử dụng thư viện JavaFX.
Sau đây là các bước:
Bước 1: Tạo lớp học
Tạo một lớp Java và kế thừa lớp Application của gói javafx.application và triển khai phương thức start() của lớp này như sau:
public
class
DrawingLine
extends
Application
{
@Override
public
void
start
(
Stage
primaryStage
)
throws
Exception
{
}
}
Bước 2: Tạo đường thẳng
Bạn có thể tạo một đường thẳng trong JavaFX bằng cách khởi tạo lớp có tên Line thuộc về một gói javafx.scene.shape, khởi tạo lớp này như sau:
//Creating a line object Line line = new Line();
Bước 3: Đặt thuộc tính cho đường thẳng
Chỉ định tọa độ để vẽ đường thẳng trên mặt phẳng XY bằng cách đặt các thuộc tính startX, startY, endX và endY, sử dụng các phương thức setter tương ứng của chúng như được hiển thị trong khối mã sau:
line.setStartX(100.0); line.setStartY(150.0); line.setEndX(500.0); line.setEndY(150.0);
Bước 4: Tạo đối tượng nhóm
Trong phương thức start(), hãy tạo một đối tượng nhóm bằng cách khởi tạo lớp có tên Group, thuộc về gói javafx.scene.
Truyền đối tượng Line (nút), được tạo ở bước trước, làm tham số cho hàm tạo của lớp Group, để thêm nó vào nhóm như sau:
Group root = new Group(line);
Bước 5: Tạo một đối tượng cảnh
Tạo một Cảnh bằng cách khởi tạo lớp có tên Scene thuộc về gói javafx.scene. Đối với lớp này, truyền đối tượng Group (gốc) đã được tạo ở bước trước.
Ngoài đối tượng gốc, bạn cũng có thể truyền hai tham số kép đại diện cho chiều cao và chiều rộng của màn hình cùng với đối tượng của lớp Group như sau:
Scene scene = new Scene(group ,600, 300);
Bước 6: Đặt tiêu đề của sân khấu
Bạn có thể đặt tiêu đề cho vùng hiển thị bằng phương thức setTitle() của lớp Stage. primaryStage là một đối tượng Stage được truyền cho phương thức khởi đầu của lớp cảnh, như một tham số.
Sử dụng đối tượng primaryStage, đặt tiêu đề của cảnh là Ứng dụng mẫu như sau:
primaryStage.setTitle("Ứng dụng mẫu");
Bước 7: Thêm cảnh vào sân khấu
Bạn có thể thêm một đối tượng Scene vào sân khấu bằng cách sử dụng phương thức setScene() của lớp có tên Stage. Thêm đối tượng Scene đã chuẩn bị ở các bước trước bằng cách sử dụng phương thức này như sau.
primaryStage.setScene(scene);
Bước 8: Hiển thị nội dung của sân khấu
Hiển thị nội dung của cảnh bằng phương thức có tên show() của lớp Stage như sau:
primaryStage.show();
Bước 9: Khởi chạy ứng dụng
Khởi chạy ứng dụng JavaFX bằng cách gọi phương thức tĩnh launch() của lớp Application từ phương thức main như sau:
public
static
void
main
(
String
args
[]){
launch
(
args
);
}
Vi dụ
Chương trình sau đây cho thấy cách tạo một đường thẳng bằng JavaFX. Lưu mã này trong một tệp có tên JavafxSample.java:
import
javafx
.
application
.
Application
;
import
javafx
.
scene
.
Group
;
import
javafx
.
scene
.
Scene
;
import
javafx
.
scene
.
shape
.
Line
;
import
javafx
.
stage
.
Stage
;
public
class
DrawingLine
extends
Application
{
@Override
public
void
start
(
Stage
stage
)
{
//Creating a line object
Line
line
=
new
Line
();
//Setting the properties to a line
line
.
setStartX
(
100.0
);
line
.
setStartY
(
150.0
);
line
.
setEndX
(
500.0
);
line
.
setEndY
(
150.0
);
//Creating a Group
Group
root
=
new
Group
(
line
);
//Creating a Scene
Scene
scene
=
new
Scene
(
root
,
600
,
300
);
//Setting title to the scene
stage
.
setTitle
(
"Sample application"
);
//Adding the scene to the stage
stage
.
setScene
(
scene
);
//Displaying the contents of a scene
stage
.
show
();
}
public
static
void
main
(
String
args
[]){
launch
(
args
);
}
}
Biên dịch và thực thi tệp java đã lưu từ dấu nhắc lệnh bằng các lệnh sau:
javac DrawingLine.java java DrawingLine
Khi thực thi, chương trình trên tạo ra một cửa sổ JavaFX hiển thị một đường thẳng như hình dưới đây.
Ví dụ 3 – Hiển thị Văn bản
Ta cũng có thể nhúng văn bản vào cảnh JavaFX. Ví dụ này cho thấy cách nhúng văn bản vào JavaFX.
Sau đây là các bước:
Bước 1: Tạo lớp
Tạo một lớp Java và kế thừa lớp Application của gói javafx.application và triển khai phương thức start() của lớp này như sau.
public
class
DrawingLine
extends
Application
{
@Override
public
void
start
(
Stage
primaryStage
)
throws
Exception
{
}
}
Bước 2: Nhúng văn bản
Bạn có thể nhúng văn bản vào một cảnh JavaFX bằng cách khởi tạo lớp có tên Text thuộc về một gói javafx.scene.shape, khởi tạo lớp này.
Bạn có thể khởi tạo lớp này bằng cách truyền văn bản được nhúng, ở định dạng Chuỗi (String), bạn có thể tạo đối tượng văn bản bằng cách sử dụng hàm tạo mặc định như được hiển thị bên dưới.
//Creating a Text object Text text = new Text();
Bước 3: Đặt phông chữ
Bạn có thể đặt phông chữ cho văn bản bằng phương thức setFont() của lớp Text. Phương thức này chấp nhận một đối tượng phông chữ làm tham số. Đặt phông chữ của văn bản đã cho thành 45 như hình dưới đây.
//Setting font to the text text.setFont(new Font(45));
Bước 4: Đặt vị trí của văn bản
Bạn có thể đặt vị trí của văn bản trên mặt phẳng XY bằng cách đặt tọa độ X, Y bằng cách sử dụng các phương thức setter tương ứng setX() và setY() như sau:
//setting the position of the text text.setX(50); text.setY(150);
Bước 5: Đặt văn bản sẽ được thêm vào
Bạn có thể đặt văn bản sẽ được thêm vào bằng phương thức setText() của lớp Text. Phương thức này chấp nhận một tham số chuỗi đại diện cho văn bản được thêm vào.
text
.
setText
(
"Welcome to V1Study"
);
Bước 6: Tạo một đối tượng Group
Trong phương thức start(), hãy tạo một đối tượng của lớp Group bằng cách khởi tạo lớp có tên Group, thuộc về gói javafx.scene.
Truyền đối tượng Text (nút), được tạo ở bước trước, làm tham số cho hàm tạo của lớp Group, để thêm nó vào nhóm như sau:
Group root = new Group(text)
Bước 7: Tạo một đối tượng cảnh
Tạo một Cảnh bằng cách khởi tạo lớp Scene thuộc về gói javafx.scene. Đối với lớp này, hãy truyền đối tượng Group (gốc), được tạo ở bước trước.
Ngoài đối tượng gốc, bạn cũng có thể truyền hai tham số kép đại diện cho chiều cao và chiều rộng của màn hình cùng với đối tượng của lớp Nhóm như sau.
Scene scene = new Scene(group ,600, 300);
Bước 8: Đặt tiêu đề của sân khấu
Bạn có thể đặt tiêu đề cho vùng hiển thị bằng phương thức setTitle() của lớp Stage. primaryStage là một đối tượng Stage được truyền cho phương thức khởi đầu của lớp cảnh, như một tham số.
Sử dụng đối tượng primaryStage, đặt tiêu đề của cảnh là Vẽ chữ như sau:
primaryStage.setTitle("Vẽ chữ");
Bước 9: Thêm cảnh vào sân khấu
Bạn có thể thêm một đối tượng Scene vào sân khấu bằng cách sử dụng phương thức setScene() của lớp có tên Stage. Thêm đối tượng Scene đã chuẩn bị ở các bước trước bằng cách sử dụng phương pháp này như sau:
primaryStage.setScene(scene);
Bước 10: Hiển thị nội dung của sân khấu
Hiển thị nội dung của cảnh bằng phương thức có tên show() của lớp Stage như sau:
primaryStage.show();
Bước 11: Khởi chạy ứng dụng
Khởi chạy ứng dụng JavaFX bằng cách gọi phương thức tĩnh launch() của lớp Application từ phương thức chính như sau:
public
static
void
main
(
String
args
[]){
launch
(
args
);
}
Ví dụ
Sau đây là chương trình hiển thị văn bản bằng JavaFX. Lưu mã này trong một tệp có tên DisplayingText.java:
import
javafx
.
application
.
Application
;
import
javafx
.
collections
.
ObservableList
;
import
javafx
.
scene
.
Group
;
import
javafx
.
scene
.
Scene
;
import
javafx
.
stage
.
Stage
;
import
javafx
.
scene
.
text
.
Font
;
import
javafx
.
scene
.
text
.
Text
;
public
class
DisplayingText
extends
Application
{
@Override
public
void
start
(
Stage
stage
)
{
//Creating a Text object
Text
text
=
new
Text
();
//Setting font to the text
text
.
setFont
(
new
Font
(
45
));
//setting the position of the text
text
.
setX
(
50
);
text
.
setY
(
150
);
//Setting the text to be added.
text
.
setText
(
"Welcome to Tutorialspoint"
);
//Creating a Group object
Group
root
=
new
Group
();
//Retrieving the observable list object
ObservableList
list
=
root
.
getChildren
();
//Setting the text object as a node to the group object
list
.
add
(
text
);
//Creating a scene object
Scene
scene
=
new
Scene
(
root
,
600
,
300
);
//Setting title to the Stage
stage
.
setTitle
(
"Sample Application"
);
//Adding scene to the stage
stage
.
setScene
(
scene
);
//Displaying the contents of the stage
stage
.
show
();
}
public
static
void
main
(
String
args
[]){
launch
(
args
);
}
}
Biên dịch và thực thi tệp java đã lưu từ dấu nhắc lệnh bằng các lệnh sau:
javac DisplayingText.java java DisplayingText
Khi thực thi, chương trình trên tạo ra một cửa sổ JavaFX hiển thị văn bản như hình dưới đây.