软构笔记-Java Swing学习

Java Swing 教程

Java Swing 是 Java 平台的一个 GUI 工具包,提供了各种组件和工具类,用于创建漂亮的用户界面。

安装 Java Swing

Java Swing 是 Java 标准库的一部分,因此无需安装额外的软件包。只需要安装 Java 开发工具包(JDK),就可以开始使用 Java Swing 开发 GUI 应用程序了。

创建 GUI 应用程序

要创建 GUI 应用程序,需要创建一个 JFrame 对象,并将其设置为应用程序的主窗口。然后,可以向 JFrame 对象中添加其他组件,如 JButton、JLabel、JTextField 等。

下面是一个简单的 Java Swing 应用程序的示例代码:

import javax.swing.*;

public class HelloWorldSwing {
    private static void createAndShowGUI() {
        // 创建 JFrame 对象
        JFrame frame = new JFrame("HelloWorldSwing");

        // 设置关闭窗口时的操作
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 添加 "Hello, world!" 标签
        JLabel label = new JLabel("Hello, world!");
        frame.getContentPane().add(label);

        // 显示窗口
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        // 在 EDT 中运行 GUI 代码
        SwingUtilities.invokeLater(() -> createAndShowGUI());
    }
}

在上面的示例代码中,我们首先创建了一个 JFrame 对象,并设置了窗口的标题和关闭窗口时的操作。然后,我们创建了一个 JLabel 对象,并将其添加到 JFrame 对象的内容面板中。最后,我们调用 pack() 方法调整窗口大小,并将窗口设置为可见。

布局组件

Java Swing 提供了几种布局管理器,用于将组件布局在容器中。常见的布局管理器包括 BorderLayout、FlowLayout、GridLayout、BoxLayout 等。可以根据需要选择适合的布局管理器。

下面是一个使用 BorderLayout 布局管理器的示例代码:

import javax.swing.*;

public class BorderLayoutExample {
    private static void createAndShowGUI() {
        // 创建 JFrame 对象
        JFrame frame = new JFrame("BorderLayoutExample");

        // 设置关闭窗口时的操作
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 添加组件
        frame.add(new JButton("North"), BorderLayout.NORTH);
        frame.add(new JButton("South"), BorderLayout.SOUTH);
        frame.add(new JButton("East"), BorderLayout.EAST);
        frame.add(new JButton("West"), BorderLayout.WEST);
        frame.add(new JButton("Center"), BorderLayout.CENTER);

        // 显示窗口
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        // 在 EDT 中运行 GUI 代码
        SwingUtilities.invokeLater(() -> createAndShowGUI());
    }
}

在上面的示例代码中,我们创建了一个 JFrame 对象,并向其中添加了五个 JButton 对象。
这些 JButton 对象被添加到 JFrame 对象的五个不同位置(北、南、东、西、中心),使用 BorderLayout 布局管理器进行布局。

响应用户操作

Java Swing 提供了多种事件处理机制,可以响应用户操作,例如单击按钮、输入文本等。可以通过添加事件监听器来处理这些事件。

下面是一个使用 ActionListener 处理按钮单击事件的示例代码:

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ButtonExample {
    private static void createAndShowGUI() {
        // 创建 JFrame 对象
        JFrame frame = new JFrame("ButtonExample");

        // 设置关闭窗口时的操作
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 添加按钮
        JButton button = new JButton("Click me!");
        frame.getContentPane().add(button);

        // 添加事件监听器
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(frame, "Hello, world!");
            }
        });

        // 显示窗口
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        // 在 EDT 中运行 GUI 代码
        SwingUtilities.invokeLater(() -> createAndShowGUI());
    }
}

在上面的示例代码中,我们创建了一个 JButton 对象,并添加了一个 ActionListener,当用户单击按钮时,会弹出一个对话框,显示 "Hello, world!"。

总结

Java Swing 是一个强大的 GUI 工具包,提供了丰富的组件和工具类,用于创建漂亮的用户界面。介绍了 Java Swing 的基础知识,包括如何创建和布局组件、如何响应用户操作、如何处理事件等。

posted @ 2023-04-30 13:27  No3eTB  阅读(41)  评论(0编辑  收藏  举报