GUI实验

题目:

        编程包含一个标签和一个按钮,单击按钮时,标签的内容在"你好"和"再见"之间切换。

分析:

  1. 导入所需的Java库:程序使用了 javax.swing 包中的一些类来创建图形用户界面。

  2. 创建一个 JFrame 对象:JFrame 是一个窗口容器,用来放置按钮和标签等组件。

  3. 创建一个 JLabel 对象:JLabel 用来显示"你好"和"再见"这两个文本内容。

  4. 创建一个 JButton 对象:JButton 是一个按钮,用来触发切换标签内容的操作。

  5. 设置按钮的 ActionListener:通过为按钮添加 ActionListener,实现在按钮点击时切换标签内容的功能。

  6. 在 ActionListener 中编写逻辑:在 ActionListener 中编写逻辑来实现按钮点击时标签内容的切换。通过控制一个 boolean 变量来确定当前应该显示"你好"还是"再见"。

  7. 将组件添加到 JFrame 中:将创建的标签和按钮添加到 JFrame 中,并设置布局为 null,以便手动设置组件的位置和大小。

  8. 设置 JFrame 可见:最后将 JFrame 设置为可见状态,以显示图形用户界面。

难点分析:

  1. 理解图形用户界面的基本组件:需要对 JFrame、JLabel 和 JButton 等图形用户界面组件有一定的了解,以便正确使用和设置它们。

  2. 了解 ActionListener 接口和事件处理:需要理解 ActionListener 接口以及如何通过为按钮添加 ActionListener 来处理按钮点击事件。在 ActionListener 的 actionPerformed 方法中编写逻辑也需要一些熟悉。

  3. 处理标签文本的切换:需要在 ActionListener 中编写逻辑来切换标签的文本内容。这里使用了一个 boolean 变量来跟踪当前应该显示的文本内容,并根据其值来更新标签的文本。

  4. 设置布局和组件位置:在本示例中,使用了 null 布局,这意味着需要手动设置组件的位置和大小。对于初学者来说,可能需要花一些时间来理解和实践如何正确设置组件的位置。

代码:

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class GreetingApp {
    private static JLabel label;

    public static void main(String[] args) {
        JFrame frame = new JFrame("Greeting App");
        frame.setSize(300, 200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        label = new JLabel("你好");
        label.setBounds(100, 50, 100, 30);
        frame.add(label);

        JButton button = new JButton("切换");
        button.setBounds(100, 100, 100, 30);
        button.addActionListener(new ActionListener() {
            boolean isHello = true;

            @Override
            public void actionPerformed(ActionEvent e) {
                if (isHello) {
                    label.setText("再见");
                    isHello = false;
                } else {
                    label.setText("你好");
                    isHello = true;
                }
            }
        });
        frame.add(button);

        frame.setLayout(null);
        frame.setVisible(true);
    }
}

结果:

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值