📜  SWING教程(1)

📅  最后修改于: 2023-12-03 15:20:25.619000             🧑  作者: Mango

SWING教程

Swing是Java平台的一个GUI工具包,用于创建图形用户界面(GUI)。

学习准备

在开始学习Swing之前,您需要具备以下技能:

  1. Java编程语言
  2. 面向对象编程(OOP)的基本概念
  3. 图形用户界面(GUI)的基本知识

如果您已经具备了以上技能,那么您就可以开始学习Swing了。

Swing的基本组件

Swing提供了许多组件来构建GUI应用程序,以下是一些常用的组件:

  1. JLabel:用于显示文本或图像
  2. JButton:用于执行动作
  3. JTextField:用于输入文本
  4. JCheckBox:用于选择多个选项
  5. JRadioButton:用于选择单个选项
  6. JComboBox:用于选择一个选项
  7. JList:用于显示列表项
  8. JTable:用于显示二维表格数据
创建GUI应用程序

Swing应用程序通常由以下几个部分组成:

  1. JFrame窗口
  2. JPanel面板
  3. 组件

以下是创建Swing应用程序的基本步骤:

  1. 创建JFrame窗口
  2. 创建JPanel面板
  3. 将组件添加到面板中
  4. 将面板添加到窗口中
  5. 设置窗口属性
  6. 显示窗口

代码示例:

import javax.swing.*;

public class HelloWorld extends JFrame {
    public static void main(String[] args) {
        JFrame frame = new JFrame("HelloWorld");
        JPanel panel = new JPanel();
        JLabel label = new JLabel("Hello World!");
        panel.add(label);
        frame.add(panel);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setVisible(true);
    }
}
布局管理器

Swing提供了多种布局管理器来布局组件,以下是常用的布局管理器:

  1. BorderLayout:容器按照东、南、西、北和中心的顺序布置组件。
  2. FlowLayout:按照组件添加的顺序依次排列组件,直到空间用完为止。
  3. GridLayout:以网格状布局组件。
  4. CardLayout:一个组件叠放在另一个组件上。

代码示例:

import javax.swing.*;
import java.awt.*;

public class LayoutDemo extends JFrame {
    public static void main(String[] args) {
        JFrame frame = new JFrame("LayoutDemo");
        JPanel panel = new JPanel(new BorderLayout());
        JButton button1 = new JButton("Button 1");
        JButton button2 = new JButton("Button 2");
        panel.add(button1, BorderLayout.NORTH);
        panel.add(button2, BorderLayout.SOUTH);
        frame.add(panel);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setVisible(true);    
    }
}
事件处理

Swing中的事件是由组件生成的,例如点击按钮、选择下拉菜单等。为了对事件做出响应,需要编写事件处理程序。

代码示例:

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

public class EventDemo extends JFrame {
    private JButton button;
    
    public EventDemo(){
        button = new JButton("Click me!");
        button.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                JOptionPane.showMessageDialog(EventDemo.this, "Hello World!");
            }
        });
        add(button);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(200,100);
        setVisible(true);
    }
    
    public static void main(String[] args){
        new EventDemo();
    }
}
总结

Swing是Java平台的一个GUI工具包,用于创建图形用户界面(GUI)。学习Swing需要具备Java编程语言、面向对象编程(OOP)基本概念和图形用户界面(GUI)基本知识。Swing提供了多种组件和布局管理器来构建GUI应用,以及事件处理机制来响应用户操作。