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编程。