当前位置: 首页 > news >正文

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;@Overridepublic void actionPerformed(ActionEvent e) {if (isHello) {label.setText("再见");isHello = false;} else {label.setText("你好");isHello = true;}}});frame.add(button);frame.setLayout(null);frame.setVisible(true);}
}

结果:

相关文章:

  • 漏洞修复的两种核心方法
  • day25- 系统编程之 标准IO(II) 及 文件IO
  • MCP-1:MCP组件与工作流程
  • 【leetcode】75.颜色分类
  • 一命通关单调栈
  • Vue.js教学第九章:Vue动态与异步组件,高效开发全攻略
  • Speexx: Online Language Training Business Coaching Platform
  • 在 Windows 系统部署对冲基金分析工具 ai-hedge-fund 的笔记
  • Python爬虫实战:获取天气网最近一周北京的天气数据,为日常出行做参考
  • MYSQL日志与事件
  • 【OCCT+ImGUI系列】009-Geom2d-Geom2d_AxisPlacement
  • leetcode2844. 生成特殊数字的最少操作-medium
  • vue页面实现table动态拆分列功能
  • MyBatis:简化数据库操作的持久层框架
  • 什么是endpoints?
  • 江科大TIM定时器hal库实现
  • Python训练Day30
  • 用python实现汉字转拼音工具
  • shell脚本之函数详细解释及运用
  • 车载诊断架构 --- LIN 节点 ECU 故障设计原则
  • 网站建设与推广培训学校/网站制作和推广
  • 手机网站测试/百度ocpc如何优化
  • 深圳网站建设jm3q/关键词歌词打印
  • 滨湖区知名做网站选哪家/优化落实防控措施
  • 网站建设 怎么设置在线客服/站长工具站长之家官网
  • 阿里巴巴全球速卖通/关键词优化怎么操作