[笔记] 使用 Java Swing 实现一个简单的窗口

Java Swing 是一个用于构建图形用户界面(GUI)的Java库,它提供了丰富的组件和工具,用于创建交互式的桌面应用程序。Swing 是 Java Foundation Classes(JFC)的一部分,它是 Java 平台的一种标准用户界面工具包。

Swing 提供了丰富的组件,包括按钮、标签、文本框、列表、表格等,以及布局管理器和事件处理机制等工具,使开发人员能够轻松创建复杂的用户界面。Swing 还支持可定制的外观和主题,开发人员可以根据需要自定义界面的外观和风格。

随着 Java 平台的发展,Swing 成为了 Java 桌面应用程序开发的主要选择。它在业界得到了广泛应用,并成为了许多商业和开源项目的基础。虽然近年来,JavaFX 和其他现代的 GUI 框架也出现了,但 Swing 仍然是许多现有 Java 桌面应用程序的重要组成部分,并且仍然得到一定程度的支持和维护。

以下为一个简单的 Java Swing UI 窗口:

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class SimpleUI {public static void main(String[] args) {// 创建顶层容器 JFrameJFrame frame = new JFrame("简单UI示例");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置关闭操作// 创建面板 JPanelJPanel panel = new JPanel();panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); // 设置面板布局为垂直方向// 创建标签 JLabelJLabel label = new JLabel("请输入姓名:");Font font = new Font(label.getFont().getName(), Font.PLAIN, 32);label.setFont(font);panel.add(label); // 将标签添加到面板// 创建文本框 JTextFieldJTextField textField = new JTextField(10); // 指定文本框的列数panel.add(textField); // 将文本框添加到面板// 添加垂直间距panel.add(Box.createVerticalStrut(10));// 创建按钮 JButtonJButton button = new JButton("点击我");button.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String name = textField.getText(); // 获取文本框的内容label.setText("你好," + name + "!");}});button.setFont(font);panel.add(button); // 将按钮添加到面板// 将面板添加到顶层容器frame.getContentPane().add(panel);// 设置顶层容器大小frame.setSize(800, 600);// 将窗口定位在屏幕的中央位置frame.setLocationRelativeTo(null);// 设置顶层容器可见frame.setVisible(true);}
}

运行后展示效果如下:
在这里插入图片描述

参考资料

  • 菜鸟教程-Java Swing
  • Swing简介:Swing是什么

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/508901.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络-网络安全(一)

1.网络安全威胁和漏洞类型: 窃听 假冒 重放 流量分析 破环完整 病毒 木马 诽谤 非授权访问 拒绝服务 漏洞:物理、软件、不兼容、其他等。 2.网络安全信息数据五大特征: 完整性&…

Windows Server 各版本搭建文件服务器实现共享文件(03~19)

一、Windows Server 2003 打开服务器,点击左下角开始➡管理工具➡管理您的服务器➡添加或删除角色 点击下一步等待测试 勾选自定义配置,点击下一步 选择文件服务器,点击下一步 勾选设置默认磁盘空间,数据自己更改,最…

最短路径(2.19)

目录 1.网络延迟时间 弗洛伊德算法 迪杰斯特拉算法 2. K 站中转内最便宜的航班 3.从第一个节点出发到最后一个节点的受限路径数 4.到达目的地的方案数 1.网络延迟时间 有 n 个网络节点,标记为 1 到 n。 给你一个列表 times,表示信号经过 有向 边的…

MySQL之视图详解

华子目录 什么是视图?创建视图查询查看创建视图语句查看视图数据 修改视图结构方式1方式2 删除视图在视图中插入数据视图的with检查选项视图的更新视图的作用和优点视图的使用规则案例 什么是视图? 视图(view)是一种虚拟存在的表…

matlab 写入格式化文本文件

目录 一、save函数 二、fprintf函数 matlab 写入文本文件可以使用save和fprintf函数 save输出结果: fprintf输出结果: 1.23, 2.34, 3.45 4.56, 5.67, 6.78 7.89, 8.90, 9.01 可以看出fprintf输出结果更加人性化,符合要求,下面分别介绍。 一、save函数 …

可让照片人物“开口说话”阿里图生视频模型EMO,高启强普法

3 月 1 日消息,阿里巴巴研究团队近日发布了一款名为“EMO(Emote Portrait Alive)”的 AI 框架,该框架号称可以用于“对口型”,只需要输入人物照片及音频,模型就能够让照片中的人物开口说出相关音频&#xf…

第105讲:Mycat垂直分表实战:从规划到解决问题的完整指南

文章目录 1.垂直分表的背景2.垂直分表案例实战2.1.垂直分表规划2.2.配置Mycat实现垂直分表2.3.重启Mycat2.4.在Mycat命令行中导入数据结构2.5.查看由Mycat分表后每个分片上存储的表2.6.Mycat垂直分表后可能遇到的问题2.7.垂直分表完成 1.垂直分表的背景 我们的商城系统数据库&…

熔断降级 spring事务

如果有事务处理,会先把事务的自动提交给关闭

泡软超时干腐竹方法

先拿一包商场买回来的干腐竹 然后 接一大碗温水 千万不要用很烫的水 盖上 让腐竹好好泡 5 分钟 泡 5 分钟后 捞出来即可

3、JavaWeb-Ajax/Axios-前端工程化-Element

P34 Ajax介绍 Ajax:Asynchroous JavaScript And XML,异步的JS和XML JS网页动作,XML一种标记语言,存储数据, 作用: 数据交换:通过Ajax给服务器发送请求, 并获取服务器响应的数据 异步交互&am…

072:vue+cesium 实现下雪效果

第072个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中实现下雪效果,这里使用着色器来实现实例特效。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共120行)着色代码实现心得:专栏目标示例效果

Python电能质量扰动信号分类(六)基于扰动信号特征提取的超强机器学习识别模型

目录 往期精彩内容: 前言 1 数据集和特征提取 1.1 数据集导入 1.2 扰动信号特征提取 2超强模型XGBoost——原理介绍 2.1 原理介绍 2.2 特征数据集制作 3 模型评估和对比 3.1 随机森林分类模型 3.2 支持向量机SVM分类模型 3.3 XGBoost分类模型 代码、数据…