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

JAVA学习-练习试用Java实现“使用Swing创建一个带有按钮的窗口”

问题:

       编写一个Java程序,使用Swing库创建一个窗口,窗口中包含一个标签和一个按钮。当按钮被点击时,标签的文本更改为“Button Clicked!”。

解答思路:

       以下是一个Java程序,使用Swing库创建了一个窗口,窗口中包含一个标签和一个按钮。当按钮被点击时,标签的文本会更新为“Button Clicked!”。

import javax.swing.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


public class ButtonExample {

    public static void main(String[] args) {

        // 创建 JFrame 实例

        JFrame frame = new JFrame("Button Example");

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setSize(300, 200);


        // 创建标签

        JLabel label = new JLabel("Press the button below...", SwingConstants.CENTER);

        label.setPreferredSize(new Dimension(280, 100));


        // 创建按钮

        JButton button = new JButton("Click Me!");


        // 为按钮添加事件监听器

        button.addActionListener(new ActionListener() {

            @Override

            public void actionPerformed(ActionEvent e) {

                // 更新标签的文本

                label.setText("Button Clicked!");

            }

        });


        // 将标签和按钮添加到窗口的布局中

        frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));

        frame.add(label);

        frame.add(button);


        // 显示窗口

        frame.setVisible(true);

    }

}

       在这个程序中,我们首先创建了一个'JFrame'实例来代表窗口,并设置了窗口的默认关闭操作为退出程序,以及窗口的尺寸。

       接着,我们创建了一个'JLabel'实例,用于显示文本。我们还创建了一个'JButton'实例,并使用'addActionListener'方法为它添加了一个事件监听器。这个监听器是一个匿名内部类,它实现了'ActionListener'接口。当按钮被点击时,'actionPerformed'方法会被调用,标签的文本就会被更新。

       最后,我们使用'BoxLayout'来布局窗口的内容,将标签和按钮添加到窗口中,并使窗口可见。

       要运行这个程序,你需要保存代码到一个'.java'文件中,例如'ButtonExample.java',然后编译并运行它:

javac ButtonExample.java

java ButtonExample

       运行后,你将看到一个窗口,其中包含一个标签和一个按钮。点击按钮后,标签的文本将更新为“Button Clicked!”。

(文章为作者在学习java过程中的一些个人体会总结和借鉴,如有不当、错误的地方,请各位大佬批评指正,定当努力改正,如有侵权请联系作者删帖。)

原文地址:https://blog.csdn.net/weixin_69763181/article/details/145323209
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/529063.html

相关文章:

  • 一些计算机零碎知识随写(25年2月)
  • 论文和代码解读:RF-Inversion 图像/视频编辑技术
  • 7 与mint库对象互转宏(macros.rs)
  • 快速提升网站收录:利用网站分析工具
  • 比较热门的嵌入式项目
  • Maya软件安装步骤与百度网盘链接
  • ArkTS高性能编程实践
  • Linux进程控制:【进程创建】【进程终止】【进程等待】【进程程序替换】【自主shell命令行解释器】
  • Android 音视频编解码 -- MediaCodec
  • 自动化测试框架搭建-封装requests-优化
  • 42【语言的编码架构】
  • 记5(一元逻辑回归+线性分类器+多元逻辑回归
  • 计算机视觉和图像处理
  • FPGA|安装USB Blaster驱动
  • 5 个开源且免费的提示词管理系统,按照 从优到劣 排序
  • OFDM系统仿真
  • 告别复杂,拥抱简洁:用plusDays(7)代替plus(7, ChronoUnit.DAYS)
  • 页表(Page Table)
  • 面向npm的实时仪表板Dashly
  • 红黑树介绍