Swing用法的简单展示

1.简单的登陆界面示例

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class Main extends JFrame {private JTextField usernameField;private JPasswordField passwordField;public Main() {setTitle("登陆界面");setSize(300, 150);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JPanel panel = new JPanel();JLabel usernameLabel = new JLabel("用户名:");JLabel passwordLabel = new JLabel("密码:");usernameField = new JTextField(15);passwordField = new JPasswordField(15);JButton loginButton = new JButton("登陆");loginButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String username = usernameField.getText();String password = new String(passwordField.getPassword());if (username.equals("admin") && password.equals("admin123")) {JOptionPane.showMessageDialog(Main.this, "登陆成功");} else {JOptionPane.showMessageDialog(Main.this, "用户名或密码错误");}}});panel.add(usernameLabel);panel.add(usernameField);panel.add(passwordLabel);panel.add(passwordField);panel.add(loginButton);add(panel);setVisible(true);}public static void main(String[] args) {new Main();}
}

效果

2. 点击按钮切换文本示例

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class ToggleTextFrame extends JFrame {private JLabel textLabel;private JButton toggleButton;private boolean isTextVisible = true;public ToggleTextFrame() {setTitle("文本显示切换");setSize(300, 150);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JPanel panel = new JPanel();textLabel = new JLabel("Hello, Swing!");toggleButton = new JButton("切换文本");toggleButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {isTextVisible = !isTextVisible;if (isTextVisible) {textLabel.setText("Hello, Swing!");} else {textLabel.setText("");}}});panel.add(textLabel);panel.add(toggleButton);add(panel);setVisible(true);}public static void main(String[] args) {new ToggleTextFrame();}
}

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

符尧:LLama3开启Scale游戏的第二章

符尧 | 网站 | 博客 | 推特 / X 爱丁堡大学 | yao.fued.ac.uk 发布日期:2024年4月22日 原贴:https://yaofu.notion.site/Apr-2024-Llama-3-Opens-the-Second-Chapter-of-the-Game-of-Scale-efff1c0c185f4008af673b78faf83b61 翻译和评论由“强化学徒”…

【派兹互连·SailWind】美国瞄准“小华为”

有“小华为”之称的海能达遭遇了来自美国方面的压力。 近日,海能达紧急发公告称,公司收到美国法院的判令,临时被禁止在全球范围内销售双向无线电技术的产品,并处以每天100万美元的罚款,直至公司完全遵守禁诉令之时止。…

基于机器学习的无人机避障技术详解,无人机避障技术应用前景

随着无人机技术的快速发展,无人机避障技术成为了研究的热点。基于机器学习的无人机避障技术,主要利用机器学习算法处理传感器数据,实现无人机的自主避障。这种技术可以显著提高无人机的飞行安全性和智能化水平。 机器学习基础 机器学习是人工…

【网络安全】在网络中如何对报文和发送实体进行鉴别?

目录 1、报文鉴别 (1)使用数字签名进行鉴别 (2)密码散列函数 (3)报文鉴别码 2、实体鉴别 鉴别(authentication) 是网络安全中一个很重要的问题。 一是要鉴别发信者,即验证通信的对方的确是…

MT8788智能模块简介_MTK联发科安卓核心板方案厂商

MT8788安卓核心板是一款具备超高性能和低功耗的4G全网通安卓智能模块。该模块采用联发科AIOT芯片平台,供货周期长。 MT8788核心板搭载了12nm制程的四个Cortex-A73处理器核心和四个Cortex-A53处理器核心,最高主频可达2.0GHz。板载内存容量可选为4GB64GB(也…

工业相机和镜头参数和选型

工业相机和镜头参数和选型 文章目录 工业相机和镜头参数和选型前言一、相机参数解释和选型1.相机参数1.1快门-shutter1.2曝光-exposure1.3增益-gain1.4 感光芯片类型(CCD/CMOS)1.5 感光芯片(靶面)尺寸1.6 分辨率1.7 像元尺寸1.8 帧…

Linux复习提纲2

Linux复习提纲 Linux概述 shell:交互式命令解释程序;用户和内核间交互的桥梁Shell不仅是交互式命令解释程序,还是一种程序设计语言shell是一种命令解释程序,批处理shell是linux的外壳,默认是bash2.1 Linux基础概念 log…

怎样用PHP语言实现远程控制三路开关

怎样用PHP语言实现远程控制三路开关呢? 本文描述了使用PHP语言调用HTTP接口,实现控制三路开关,三路开关可控制三路照明、排风扇等电器。 可选用产品:可根据实际场景需求,选择对应的规格 序号设备名称厂商1智能WiFi墙…

Mudem,打造私密安全、高效稳定的私人空间

Mudem 是 Codigger 平台中的一个关键组件,它提供基础通讯服务,确保不同类型的机器之间可以进行安全和高效的连接。它其设计理念在于将本地机器、公有云以及私有云上的设备无缝地整合为一个可远程在线访问的工作站(Workstation)。这…

CentOS-7安装grafana

一、通用设置(分别在4台虚拟机设置) 1、配置主机名 hostnamectl set-hostname --static 主机名2、修改hosts文件 vim /etc/hosts 输入: 192.168.15.129 master 192.168.15.133 node1 192.168.15.134 node2 192.168.15.136 node33、 保持服…

【MySQL】A01、性能优化-语句分析

1、数据库优化方向 A、SQL及索引优化 根据需求写出良好的SQL,并创建有效的索引,实现某一种需求可以多种写法,这时候我们就要选择一种效率最高的写法。这个时候就要了解sql优化 B、数据库表结构优化 根据数据库的范式,设计表结构&…

解决VSCode中“#include错误,请更新includePath“问题

目录 1、问题原因 2、解决办法 1、问题原因 在编写C程序时,想引用头文件但是出现如下提示: (1)首先检查要引用的头文件是否存在,位于哪里。 (2)如果头文件存在,在编译时提醒VSCo…

2024最新的,免费的 ChatGPT 网站AI(八个)

ChatGPT是美国人工智能研究实验室OpenAI在2022年11月推出的一款人工智能技术驱动的语言模型应用。它基于GPT-3.5架构(后续还有GPT-4架构的升级版)构建,拥有强大的自然语言处理能力和上下文理解能力,能够参与多轮对话,为…

界面组件DevExpress Blazor UI v23.2 - 支持.NET 8、全新的项目模版

DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验,这个UI自建库提供了一套全面的原生Blazor UI组件(包括Pivot Grid、调度程序、图表、数据编辑器和报表等)。 DevExpress Blazor控件目前已经升级…

SpringBoot学习之Kafka下载安装和启动【Windows版本】(三十四)

一、配置Java环境变量 打开CMD输入java -version检查java环境变量是否配置正确,如果配置正确在CMD窗口输入java -version应该输出如下: ​ 怎么配置Java环境变量这里我就不赘叙了,网上教程很多,请读者自行搜索操作。 二、下载Kafka 1、Kafka官网地址:Apache Kafka,…

STM32H750时钟频率和功耗以及RTC功能测试

STM32H750时钟频率和功耗和RTC功能测试 📌相关篇《STM32H750片外QSPI启动配置简要》 ✨在使用STM32CubeMX修改STM32H750时钟树参数时,如果使用软件自动求解,这是一个非常耗时的操作,有时候还不一定成功,还是推荐使用手…

毅四捕Go设计模式笔记——命令模式

命令模式(Command Pattern) 为了解决什么问题? 命令模式的目的是将请求发起者和请求执行者解耦,使得请求的发起者不需要知道具体的执行者是谁,也不需要知道执行的具体过程,只需要发送请求即可。 通过使用…

鸿蒙官网学习3

鸿蒙官网学习3 每日小提示项目的模块类型跨设备预览调试阶段应用的替换方式有两种 打开老的demo工程报错UIAbility 每日小提示 项目的模块类型 moduleType分为三种,只有1,2的模块支持直接调试和运行 entryfeaturehar 跨设备预览 需要手动在config.j…

记账本React案例(Redux管理状态)

文章目录 整体架构流程 环境搭建 创建项目 技术细节 一、别名路径配置 1.路径解析配置(webpack) ,将/解析为src/ 2.路径联想配置(vsCode),使用vscode编辑器时,自动联想出来src文件夹下的…

【STM32+HAL+Proteus】系列学习教程4---GPIO输入模式(独立按键)

实现目标 1、掌握GPIO 输入模式控制 2、学会STM32CubeMX配置GPIO的输入模式 3、具体目标:1、按键K1按下,LED1点亮;2、按键K2按下,LED1熄灭;2、按键K3按下,LED2状态取反; 一、STM32 GPIO 输入…