0


【JAVA】-- GUI用户界面设计(面板组件、文本组件、标签组件、按钮组件、下拉框组件)

Swing中的组件:面板组件、文本组件、标签组件、按钮组件、下拉框组件。

一、面板组件

Swing组件中除了JFrame和JDialog这样的顶级容器,还提供了一些面板组件,面板组件不能单独存在,只能放置在顶级窗口容器中。最常见的面板组件有Jpanel和JScrollPane。

1、JPanel

JPanel面板组件是一个无边框,不能被移动、放大、缩小或关闭的面板,它的默认布局管理器是FlowLayout,也可以使用JPanel带参数的构造函数JPanel(LayoutManager layout)或setLayout()成员方法设置JPanel布局管理器。

JPanel大多从父类(如Container)继承过来。

2、JScrollPane

是一个带有滚动条的面板,面板上只能添加一个组件,如果想添加多个组件,应该先将这多个组件添加到某个组件中,然后再将这个组件添加到JScrollPane中。

常用构造方法如下:
方法声明****功能描述JScrollPane()创建一个空的JScrollPane面板JScrollPane(Component view)创建一个显示指定组件的JScrollPane面板,一旦组件内容超过视图大小就会显示水平或垂直滚动条。JScrollPane(Component view,int vsbPolicy,int hsbPolicy)创建一个显示指定容器,并具有指定滚动条策略的JScrollPane,参数vsbPolicy和hsbPolicy分别表示垂直滚动条策略和水平滚动条策略。
如果在构造方法中没有指定显示组件和滚动条策略,可以调用成员方法设置:
方法声明****功能描述void setHorizontalBatPolicy(int policy)指定水平滚动条策略,即水平滚动条何时显示在滚动面板上。
void setVerticalBarPolicy(int policy)
指定垂直滚动条策略,即垂直滚动条何时显示在滚动面板上。
void setViewportView(Component view)
设置在滚动面板显示的组件。
可以用常量属性设置不同的滚动策略,如下:
方法声明****功能描述VERTICAL_SCROLLBAR_AS_NEEDED
当填充的组件视图超过客户端窗口大

小时,自动显示水平和竖直滚动条(JscrollPane组件的默认值)。
HORIZONTAL_SCROLLBAR_AS_NEEDEDVERTICAL_SCROLLBAR_ALWAYS
无论填充的组件视图大小,始终显示水平和竖直滚动条。
HORIZONTAL_SCROLLBAR_ALWAYSVERTICAL_SCROLLBAR_NEVER
无论填充的组件视图大小,始终不显示水平和竖直滚动条。
HORIZONTAL_SCROLLBAR_NEVER

3、面板组件使用示例:

1 import java.awt.*;
2 import javax.swing.*;
3 public class Example11 {
4    private static void createAndShowGUI() {
5        // 1、创建一个JFrame容器窗口
6        JFrame f = new JFrame("PanelDemo");
7        f.setLayout(new BorderLayout());
8        f.setSize(350, 200);
9        f.setLocation(300, 200);
10        f.setVisible(true);
11        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
12        // 2、创建JScrollPane滚动面板组件
13        JScrollPane scrollPane = new JScrollPane();
14     // 设置水平滚动条策略--滚动条需要时显示
15    scrollPane.setHorizontalScrollBarPolicy
16            (ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
17     // 设置垂直滚动条策略--滚动条一直显示
18    scrollPane.setVerticalScrollBarPolicy
19            (ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
20    // 定义一个JPanel面板组件,流式布局管理器
21    JPanel panel = new JPanel();
22    // 在JPanel面板中添加四个按钮
23    panel.add(new JButton("按钮1"));
24    panel.add(new JButton("按钮2"));
25    panel.add(new JButton("按钮3"));
26    panel.add(new JButton("按钮4"));
27        // 设置JPanel面板在滚动面板JScrollPane中显示
28        scrollPane.setViewportView(panel);
29        // 向JFrame容器窗口中添加JScrollPane滚动面板组件
30        f.add(scrollPane, BorderLayout.CENTER);
31    }
32    public static void main(String[] args) {
33    // 使用SwingUtilities工具类调用createAndShowGUI()方法并显示GUI程序
34        SwingUtilities.invokeLater(Example11::createAndShowGUI);
35    }
36 }

二、文本组件

用于接收用户输入的信息,包括文本框(JTextField)、文本域(JTextArea)等,文本组件都有一个共同父类JTextComponent。JTextComponent类是一个抽象类,它提供了文本组件常用的方法。

方法声明

功能描述

String getText()

返回文本组件中所有的文本内容

String getSelectedText()

返回文本组件中选定的文本内容

void selectAll()

在文本组件中选中所有内容

void setEditable()

设置文本组件为可编辑或者不可编辑状态

void setText(String text)

设置文本组件的内容

void replaceSelection(String content)

用给定的内容替换当前选定的内容

1、JTextField

文本框,只能接收单行文本的输入,常用构造方法:

方法声明

功能描述

JTextField()

创建一个空的文本框,初始字符串为null

JTextFiled(int columns)

创建一个具有指定列数的文本框,初始字符串为null

JTextField(String text)

创建一个显示指定初始字符串的文本框

JTextField(String text,int column)

创建一个具有指定列数、并显示指定初始字符串的文本框

JTextField有一个子类JPasswordField,表示密码框,文本框中不显示用户输入的真是信息。

2、JTextArea

文本域,能接收多行文本的输入,使用构造方法创建对象时可以设定区域的行数、列数。:

方法声明

功能描述

JTextArea()

创建一个空的文本域

JTextArea(String text)

创建显示指定初始字符串的文本域

JTextArea(int rows,int columns)

创建具有指定行和列的空文本域

JTextArea(String text,int rows,int columns)

创建显示指定初始文本并指定了行列的文本域

3、使用示例

1 import java.awt.*;
2 import javax.swing.*;
3 public class Example12 {
4    private static void createAndShowGUI() {
5        // 创建一个JFrame聊天窗口
6        JFrame f = new JFrame("聊天窗口");
7        f.setLayout(new BorderLayout());
8        f.setSize(400, 300);
9        f.setLocation(300, 200);
10        f.setVisible(true);
11        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
12    // 创建一个JTextArea文本域,用来显示多行聊天信息
13    JTextArea showArea = new JTextArea(12, 34);
14    // 创建一个JScrollPane滚动面板组件,将JTextArea文本域作为其显示组件
15    JScrollPane scrollPane = new JScrollPane(showArea);
16    showArea.setEditable(false);             // 设置文本域不可编辑
17    // 创建一个JTextField文本框,用来输入单行聊天信息
18    JTextField inputField = new JTextField(20);
19    JButton btn = new JButton("发送"); 
20    // 为按钮添加监听事件
21    btn.addActionListener(e -> {
22        String content = inputField.getText();
23        // 判断输入的信息是否为空
24        if (content != null && !content.trim().equals("")) {
25            // 如果不为空,将输入的文本追加到到聊天窗口
26            showArea.append("本人输入信息:" + content + "\n");
27        } else {
28            // 如果为空,提示聊天信息不能为空
29            showArea.append("聊天信息不能为空!!!" + "\n");
30        }
31        inputField.setText(""); // 将输入的文本域内容置为空
32    });
33    // 创建一个JPanel面板组件
34    JPanel panel = new JPanel();
35    JLabel label = new JLabel("聊天信息");   // 创建一个标签
36    panel.add(label);                       // 将标签组件添加到JPanel面板
37        panel.add(inputField);                     // 将文本框添加到JPanel面板
38        panel.add(btn);                             // 将按钮添加到JPanel面板
39    // 向JFrame聊天窗口的顶部和尾部分别加入面板组件JScrollPane和JPanel
40        f.add(scrollPane, BorderLayout.PAGE_START);
41        f.add(panel, BorderLayout.PAGE_END);
42    }
43    public static void main(String[] args) {
44    // 使用SwingUtilities工具类调用createAndShowGUI()方法并显示GUI程序
45        SwingUtilities.invokeLater(Example12::createAndShowGUI);
46    }
47 }

运行结果:

三、标签组件

除了有用于输入功能的文本组件外,Swing还提供了用于仅供展示的标签组件,常用的Swing标签组件是JLabel,可以显示文本、图像,还可以设置标签内容的垂直和水平对齐方式。

构造方法:

方法声明

功能描述

**JLabel() **

创建无标题的JLabel实例

**JLabel(Icon image) **

创建具有指定图像的JLabel实例

**JLabel(Icon image, int **

**horizontalAlignment) **

创建具有指定图像和水平对齐方式的JLabel实例

JLabel**(String text) **

创建具有指定文本的JLabel实例

JLabel**(String text, Icon icon, **

int**horizontalAlignment) **

创建具有指定文本、图像和水平对齐方式的 JLabel 实例

**JLabel(String text, **

**int horizontalAlignment) **

创建具有指定文本和水平对齐方式的JLabel实例

使用示例:

1 import java.awt.*;
2 import javax.swing.*;
3 public class Example13 {
4    private static void createAndShowGUI() {
5        // 1、创建一个JFrame容器窗口
6        JFrame f = new JFrame("JFrame窗口");
7        f.setLayout(new BorderLayout());
8        f.setSize(300, 200);
9        f.setLocation(300, 200);
10        f.setVisible(true);
11        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
12        // 2、创建一个JLabel标签组件,用来展示图片
13        JLabel label1 = new JLabel();
14    // 2.1、创建一个ImageIcon图标组件,并加入JLabel中
15    ImageIcon icon = new  ImageIcon("FruitStore.jpg");
16    Image img = icon.getImage();
17    // 2.2、用于设置图片大小尺寸
18    img = img.getScaledInstance(300, 150, Image.SCALE_DEFAULT);  
19    icon.setImage(img);  
20    label1.setIcon(icon);
21    // 3、创建一个页尾JPanel面板,并加入JLabel标签组件
22    JPanel panel = new JPanel();
23    JLabel label2 = new JLabel("欢迎进入水果超市",JLabel.CENTER);
24    panel.add(label2);
25        // 4、向JFrame聊天窗口容器的顶部和尾部分别加入JLabel和JPanel组件
26        f.add(label1, BorderLayout.PAGE_START);
27        f.add(panel, BorderLayout.PAGE_END);
28    }
29    public static void main(String[] args) {
30    // 使用SwingUtilities工具类调用createAndShowGUI()方法并显示GUI程序
31        SwingUtilities.invokeLater(Example13::createAndShowGUI);
32    }
33 }

四、按钮组件

常用的按钮组件有JButton、JCheckBox、JRadioButton,它们都是抽象类AbstractButton类的直接或间接子类。常用方法:

方法声明

功能描述

Icon getIcon()

获取按钮的图标

void setIcon(Icon icon)

设置按钮的图标

String getText()

获取按钮的文本

void setText(String text)

设置按钮的文本

void setEnable(boolean b)

设置按钮是否可用

boolean setSelected(boolean b)

设置按钮是否为选中状态

boolean isSelected()

返回按钮的状态(true为选中,反之为未选中)

1、JCheckBox

复选框组件,有选中和未选中两种状态

构造方法:

方法声明

功能描述

JCheckBox()

创建一个没有文本信息,初始状态未被选中的复选框

JCheckBox(String text)

创建一个带有文本信息,初始状态未被选定的复选框

JCheckBox(String text,boolean selected)

创建一个带有文本信息,并指定初始状态(选中/未选中)的复选框

调用setText(String text)方法设置复选框文本信息,setSelected(boolean b)设置复选框状态,isSelected()判断复选框是否被选中。

使用示例:

1 import java.awt.*;
2 import java.awt.event.*;
3 import javax.swing.*;
4 public class Example14 {
5    private static void createAndShowGUI() {
6        // 1、创建一个JFrame容器窗口
7        JFrame f = new JFrame("JFrame窗口");
8        f.setLayout(new BorderLayout());
9        f.setSize(300, 300);
10        f.setLocation(300, 200);
11        f.setVisible(true);
12        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
13    // 2、创建一个JLabel标签组件,标签文本居中对齐
14    JLabel label = new JLabel("Hello World!", JLabel.CENTER);
15    label.setFont(new Font("宋体", Font.PLAIN, 20));
16    // 3、创建一个JPanel面板组件
17    JPanel panel = new JPanel();
18    // 3.1、创建两个JCheckBox复选框,并添加到JPanel组件中
19    JCheckBox italic = new JCheckBox("ITALIC");
20    JCheckBox bold = new JCheckBox("BOLD");
21    // 3.2、为复选框定义ActionListener监听器
22    ActionListener listener = new ActionListener() {
23        public void actionPerformed(ActionEvent e) {
24            int mode = 0;
25            if (bold.isSelected())
26                mode += Font.BOLD;
27            if (italic.isSelected())
28                mode += Font.ITALIC;
29            label.setFont(new Font("宋体", mode, 20));
30        }
31    };
32    // 3.3、为两个复选框添加监听器
33    italic.addActionListener(listener);
34    bold.addActionListener(listener);
35    // 3.4、在JPanel面板添加复选框
36    panel.add(italic);
37    panel.add(bold);
38    // 4、向JFrame窗口容器中加入居中的JLabel标签组件和页尾的JPanel面板组件
39        f.add(label);
40        f.add(panel, BorderLayout.PAGE_END);
41    }
42    public static void main(String[] args) {
43    // 使用SwingUtilities工具类调用createAndShowGUI()方法并显示GUI程序
44        SwingUtilities.invokeLater(Example14::createAndShowGUI);
45    }
46 }

运行结果:

2、JRadionButton

单选按钮组件,只能选中一个。

常用构造方法:

方法声明

功能描述

JRadioButton** ()**

创建一个没有文本信息、初始状态未被选中的单选框

JRadioButton (String text)

创建一个带有文本信息、初始状态未被选定的单选框

JRadioButton (String text,boolean selected)

创建一个具有文本信息,并指定初始状态(选中/未选中)的单选框。

使用示例:

1 import java.awt.*;
2 import java.awt.event.*;
3 import javax.swing.*;
4 public class Example15 {
5    private static void createAndShowGUI() {
6        // 1、创建一个JFrame容器窗口
7        JFrame f = new JFrame("JFrame窗口");
8        f.setLayout(new BorderLayout());
9        f.setSize(300, 300);
10        f.setLocation(300, 200);
11        f.setVisible(true);
12        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
13    // 2、创建一个JLabel标签组件,标签文本居中对齐
14    JLabel label = new JLabel("Hello World!",JLabel.CENTER);
15    label.setFont(new Font("宋体", Font.PLAIN, 20));
16    // 3、创建一个页尾的JPanel面板组件,来封装ButtonGroup组件
17    JPanel panel = new JPanel();
18    // 3.1、创建一个ButtonGroup按钮组件
19    ButtonGroup group = new ButtonGroup();
20    // 3.2、创建二个JRadioButton单选按钮组件
21    JRadioButton italic = new JRadioButton("ITALIC");
22    JRadioButton bold = new JRadioButton("BOLD");
23    // 3.3、将二个JRadioButton单选按钮组件加入到同一个ButtonGroup组中
24    group.add(italic);
25    group.add(bold);
26    // 3.4、为二个JRadioButton单选按钮组件注册动作监听器
27    ActionListener listener = new ActionListener() {
28        public void actionPerformed(ActionEvent e) {
29            int mode = 0;
30            if (bold.isSelected())
31                mode += Font.BOLD;
32            if (italic.isSelected())
33                mode += Font.ITALIC;
34            label.setFont(new Font("宋体", mode, 20));
35        }
36    };
37    // 3.5、为二个单选框添加监听器
38    italic.addActionListener(listener);
39    bold.addActionListener(listener);
40        // 3.6、将二个JRadioButton单选按钮组件加入到页尾的JPanel组件中
41        panel.add(italic);
42        panel.add(bold);
43        // 4、向JFrame容器中分别加入居中的JLabel标签组件和页尾的JPanel面板组件
44        f.add(label);
45        f.add(panel, BorderLayout.PAGE_END);
46    }
47    public static void main(String[] args) {
48        // 使用SwingUtilities工具类调用createAndShowGUI()方法显示GUI程序
49        SwingUtilities.invokeLater(Example15::createAndShowGUI);
50    }
51 }

五、下拉框组件

JComboBox组件被称为下拉框或组合框,它将所有选项折叠在一起,默认显示的是第一个添加的选项,当用户单击下拉框时,会出现下拉式的选择列表,用户可以从中选择其中一项显示。

常用构造方法:

方法声明

功能描述

JComboBox()

创建一个没有可选项的下拉框

JComboBox(Object[] items)

创建一个下拉框,将Object数组中的元素作为下拉框的下拉列表选项

JComboBox(Vector items)

创建一个下拉框,将Vector集合中的元素作为下拉框的下拉列表选项

JComboBox成员方法:

方法声明

功能描述

void addItem(Object anObject)

为下拉框添加选项

void insertItemAt(Object anObject,int index)

在指定的索引处插入选项

Objct getItemAt(int index)

返回指定索引处选项,第一个选项的索引为0

int**getItemCount()**

返回下拉框中选项的数目

Object getSelectedItem()

返回当前所选项

void removeAllItems()

删除下拉框中所有的选项

void removeItem(Object object)

从下拉框中删除指定选项

void removeItemAt(int index)

移除指定索引处的选项

void setEditable(boolean aFlag)

设置下拉框的选项是否可编辑,aFlag为true则可编辑,反之则不可编辑

使用示例:

1 import java.awt.*;
2 import javax.swing.*;
3 public class Example16 {
4    private static void createAndShowGUI() {
5        // 1、创建一个JFrame容器窗口
6        JFrame f = new JFrame("JFrame窗口");
7        f.setLayout(new BorderLayout());
8        f.setSize(350, 200);
9        f.setLocation(300, 200);
10        f.setVisible(true);
11        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
12    // 2、创建一个页头的JPanel面板,用来封装JComboBox下拉框组件
13    JPanel panel = new JPanel();
14    // 2.1、创建JComboBox下拉框组件
15    JComboBox<String> comboBox = new JComboBox<>();
16    // 2.2、为下拉框添加选项
17    comboBox.addItem("请选择城市");
18    comboBox.addItem("北京");
19    comboBox.addItem("天津");
20    comboBox.addItem("南京");
21    comboBox.addItem("上海");
22    // 2.3、创建JTextField单行文本框组件,用来展示用户选择项
23    JTextField textField = new JTextField(20);
24    // 2.4、为JComboBox下拉框组件注册动作监听器
25    comboBox.addActionListener(e -> {
26        String item = (String) comboBox.getSelectedItem();
27        if ("请选择城市".equals(item)) {
28                textField.setText("");
29            } else {
30                textField.setText("您选择的城市是:" + item);
31            }
32        });
33        // 2.5、将JComboBox组件和JTextField组件加入JPanel面板组件中
34        panel.add(comboBox); 
35        panel.add(textField); 
36        // 3、向JFrame窗口容器中加入页头的JPanel面板组件
37        f.add(panel, BorderLayout.PAGE_START);
38    }
39    public static void main(String[] args) {
40    // 使用SwingUtilities工具类调用createAndShowGUI()方法并显示GUI程序
41        SwingUtilities.invokeLater(Example16::createAndShowGUI);
42    }
43 }

运行结果:

1、下拉式菜单

JmenuBar(菜单栏)、Jmenu(菜单)、JmenuItem(菜单项)

(1)JMenuBar

表示一个水平的菜单栏,可以放在容器的任何位置,通常会使用顶级容器的setJMenuBar()方法将菜单栏放置在顶级容器的顶部。

创建菜单栏,只需使用new创建JMenubar对象,通过调用add(JMenu c)方法添加JMeny菜单。

(2)JMenu

表示一个菜单,用来整合管理菜单项,使用构造函数JMenu(String text)创建菜单

常用方法:

方法声明

功能描述

JMenuItem add(JMenuItem menuItem)

将菜单项添加到菜单末尾,返回此菜单项

void addSeparator()

将分隔符添加到菜单的末尾

JMenuItem**getItem(intpos****)**

返回指定索引处的菜单项,第一个菜单项的索引为0

int getItemCount()

返回菜单上的项数,菜单项和分隔符都计算在内

JMenuItem insert(JmenuItem

** menuItem,int pos)**

在指定索引处插入菜单项

void insertSeparator(int pos)

在指定索引处插入分隔符

void remove(int pos)

从菜单中移除指定索引处的菜单项

void remove(JMenuItem menuItem)

从菜单中移除指定的菜单项

void removeAll()

从菜单中移除所有的菜单项

(3)JMenuItem

下拉式菜单最基本的组件,使用JMenumItem(String text)为菜单项指定文本内容。

JMenuItem继承AbstractButton,因此可以看成是一个按钮,可以调用setText(String text)方法和setIcon()方法设置文本和图标。

(4)下拉式菜单使用示例:

1 import javax.swing.*;
2 public class Example17 {
3    private static void createAndShowGUI() {
4        // 1、创建一个JFrame容器窗口
5        JFrame f = new JFrame("JFrame窗口");
6        f.setSize(350, 300);
7        f.setLocation(300, 200);
8        f.setVisible(true);
9        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
10        // 2、创建菜单栏组件JMenuBar
11        JMenuBar menuBar = new JMenuBar(); 
12    // 2.1、创建2个JMenu菜单组件,并加入JMenuBar中
    13    JMenu menu1 = new JMenu("文件(F)");
    14    JMenu menu2 = new JMenu("帮助(H)");
    15    menuBar.add(menu1);
    16    menuBar.add(menu2);
    17    // 2.2、创建2个JMenuItem菜单项组件,并加入JMenu中
    18    JMenuItem item1 = new JMenuItem("新建(N)");
    19    JMenuItem item2 = new JMenuItem("退出(X)");
    20    menu1.add(item1);
    21    menu1.addSeparator();   // 设置分隔符
    22    menu1.add(item2);
    23    // 2.3、分别创建2个JMenuItem菜单项监听器
    24    item1.addActionListener(e -> {
    25        // 创建一个JDialog弹窗
    26        JDialog dialog = new JDialog(f,"无标题",true);
27                dialog.setSize(200, 100);
28            dialog.setLocation(300, 200);
29            dialog.setVisible(true);
30            dialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
31        });
32        item2.addActionListener(e -> System.exit(0));
33        // 3、向JFrame窗口容器中加入JMenuBar菜单组件
34        f.setJMenuBar(menuBar);
35    }
36    public static void main(String[] args) {
37    // 使用SwingUtilities工具类调用createAndShowGUI()方法并显示GUI程序
38        SwingUtilities.invokeLater(Example17::createAndShowGUI);
39    }
40 }

运行结果:

2、弹出式菜单

用JPopupMenu实现,都通过调用add()方法添加JMenuItem菜单项,但JpopupMenu默认是不可见的,如果想要显示出来,必须调用它的**show(Component invoker,int x,int y)**方法。show()方法中的参数invoker用于显示JPopupMenu菜单的参考组件,x和y表示invoker组件坐标,表示的是以JPopupMenu菜单左上角为原点的坐标。

使用示例:

1 import java.awt.event.*;
2 import javax.swing.*;
3 public class Example18 {
4    private static void createAndShowGUI() {
5        // 1、创建一个JFrame容器窗口
6        JFrame f = new JFrame("JFrame窗口");
7        f.setSize(300, 200);
8        f.setLocation(300, 200);
9        f.setVisible(true);
10        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   11    // 2、创建JPopupMenu弹出式菜单
       12    JPopupMenu popupMenu = new JPopupMenu();
       13    // 2.1、创建两个JMenuItem菜单项,并加入到JPopupMenu组件中
       14    JMenuItem item1 = new JMenuItem("查看");
       15    JMenuItem item2 = new JMenuItem("刷新");
       16    popupMenu.add(item1);
       17    popupMenu.addSeparator();
       18    popupMenu.add(item2);
       19    // 3、为JFrame窗口添加鼠标事件监听器
       20    f.addMouseListener(new MouseAdapter() {
       21        public void mouseClicked(MouseEvent e) {
22                // 如果单击的是鼠标右键,显示JPopupMenu菜单
23              if (e.getButton() == MouseEvent.BUTTON3) {
24                popupMenu.show(e.getComponent(), e.getX(), e.getY());
25               }
26            }
27        });
28    }
29    public static void main(String[] args) {
30    // 使用SwingUtilities工具类调用createAndShowGUI()方法并显示GUI程序
31        SwingUtilities.invokeLater(Example18::createAndShowGUI);
32    }
33 }

运行结果:

标签: java 开发语言

本文转载自: https://blog.csdn.net/Tir_zhang/article/details/125180483
版权归原作者 Shewyoo 所有, 如有侵权,请联系我们删除。

“【JAVA】-- GUI用户界面设计(面板组件、文本组件、标签组件、按钮组件、下拉框组件)”的评论:

还没有评论