在Java SE中,GUI编程是非常重要的一部分。它可以让咱们创立美丽的用户界面,使得咱们的应用程序愈加易于运用和吸引人。在本文中,咱们将介绍怎么运用Swing和JavaFX来创立美丽的用户界面。
Swing
Swing是Java SE中的一个GUI工具包,它供给了一系列的组件,如按钮、文本框、标签等等。运用Swing,咱们可以轻松地创立美丽的用户界面。
创立一个Swing应用程序
让咱们从一个简略的Swing应用程序开端。下面是一个简略的Swing应用程序的代码:
import javax.swing.*;
public class MySwingApp {
public static void main(String[] args) {
JFrame frame = new JFrame("My Swing App");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("Hello, World!");
frame.getContentPane().add(label);
frame.pack();
frame.setVisible(true);
}
}
这个应用程序创立了一个窗口,窗口的标题是”My Swing App”。在窗口中,咱们添加了一个标签,标签的文本是”Hello, World!”。最终,咱们调用了pack()
方法来主动调整窗口的巨细,然后调用了setVisible(true)
方法来显现窗口。
Swing组件
Swing供给了许多组件,如按钮、文本框、标签、下拉框等等。下面是一些常用的Swing组件:
-
JButton
:按钮 -
JTextField
:文本框 -
JLabel
:标签 -
JComboBox
:下拉框 -
JCheckBox
:复选框 -
JRadioButton
:单选按钮 -
JTextArea
:文本区域 -
JScrollPane
:翻滚面板
布局管理器
在Swing中,咱们运用布局管理器来安排组件的方位和巨细。布局管理器可以帮助咱们创立美丽的用户界面,使得组件的方位和巨细自适应窗口的巨细。
Swing供给了几种布局管理器,如下所示:
-
FlowLayout
:依照添加的顺序排列组件 -
BorderLayout
:将组件分为5个区域:北、南、东、西和中心 -
GridLayout
:将组件排列成网格 -
GridBagLayout
:愈加灵敏的网格布局
事情处理
在Swing中,咱们可以运用事情处理来呼应用户的操作。例如,当用户单击按钮时,咱们可以履行一些操作。下面是一个简略的事情处理的比如:
import javax.swing.*;
import java.awt.event.*;
public class MySwingApp {
public static void main(String[] args) {
JFrame frame = new JFrame("My Swing App");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button = new JButton("Click me!");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Hello, World!");
}
});
frame.getContentPane().add(button);
frame.pack();
frame.setVisible(true);
}
}
这个应用程序创立了一个按钮,当用户单击按钮时,会弹出一个对话框,显现”Hello, World!”。
JavaFX
JavaFX是Java SE中的另一个GUI工具包,它供给了一系列的组件,如按钮、文本框、标签等等。与Swing不同的是,JavaFX运用FXML来创立用户界面。
创立一个JavaFX应用程序
让咱们从一个简略的JavaFX应用程序开端。下面是一个简略的JavaFX应用程序的代码:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class MyJavaFXApp extends Application {
public void start(Stage primaryStage) {
Label label = new Label("Hello, World!");
StackPane root = new StackPane();
root.getChildren().add(label);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("My JavaFX App");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
这个应用程序创立了一个窗口,窗口的标题是”My JavaFX App”。在窗口中,咱们添加了一个标签,标签的文本是”Hello, World!”。最终,咱们调用了show()
方法来显现窗口。
JavaFX组件
JavaFX供给了许多组件,如按钮、文本框、标签、下拉框等等。下面是一些常用的JavaFX组件:
-
Button
:按钮 -
TextField
:文本框 -
Label
:标签 -
ComboBox
:下拉框 -
CheckBox
:复选框 -
RadioButton
:单选按钮 -
TextArea
:文本区域 -
ScrollPane
:翻滚面板
FXML
FXML是JavaFX中的一种XML格式,用于描绘用户界面。运用FXML,咱们可以轻松地创立美丽的用户界面。
下面是一个简略的FXML文件的比如:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<StackPane xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<Label text="Hello, World!" />
</StackPane>
这个FXML文件创立了一个标签,标签的文本是”Hello, World!”。
事情处理
在JavaFX中,咱们可以运用事情处理来呼应用户的操作。例如,当用户单击按钮时,咱们可以履行一些操作。下面是一个简略的事情处理的比如:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class MyJavaFXApp extends Application {
public void start(Stage primaryStage) {
Button button = new Button("Click me!");
button.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
System.out.println("Hello, World!");
}
});
StackPane root = new StackPane();
root.getChildren().add(button);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("My JavaFX App");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
这个应用程序创立了一个按钮,当用户单击按钮时,会在操控台上输出”Hello, World!”。
总结
在本文中,咱们介绍了怎么运用Swing和JavaFX来创立美丽的用户界面。咱们学习了怎么创立一个简略的Swing应用程序和JavaFX应用程序,以及怎么运用布局管理器和事情处理。希望这篇文章可以帮助你更好地了解Java SE中的GUI编程。