【GUI】-- 08 JButton、JRadioButton、JCheckBox
GUI编程
03 Swing
3.5 JButton
- 图片置于按钮之上的JButton:
package com.duo.lesson05;import javax.swing.*;
import java.awt.*;
import java.net.URL;public class JButtonDemo01 extends JFrame {public JButtonDemo01() {Container contentPane = getContentPane();URL url = JButtonDemo01.class.getResource("通用头像.jpg");assert url != null;ImageIcon imageIcon = new ImageIcon(url);JButton jButton = new JButton();jButton.setIcon(imageIcon);jButton.setToolTipText("Fire");contentPane.add(jButton);setTitle("JButton测试窗口");setVisible(true);setSize(650, 500);setLocationRelativeTo(null);setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}public static void main(String[] args) {new JButtonDemo01();}
}
运行结果:

如上所示,当鼠标悬浮于按钮之上时,会有tip显示。
- 单选按钮 & 多选按钮
- 单选按钮JRadioButton:
package com.duo.lesson05;import javax.swing.*;
import java.awt.*;
import java.net.URL;public class JButtonDemo02 extends JFrame {public JButtonDemo02() {Container contentPane = getContentPane();//单选按钮框,只能选择一个。通常要对按钮进行分组JRadioButton jRadioButton1 = new JRadioButton("按钮1");JRadioButton jRadioButton2 = new JRadioButton("按钮2");JRadioButton jRadioButton3 = new JRadioButton("按钮3");ButtonGroup buttonGroup = new ButtonGroup();buttonGroup.add(jRadioButton1);buttonGroup.add(jRadioButton2);buttonGroup.add(jRadioButton3);contentPane.add(jRadioButton1, BorderLayout.NORTH);contentPane.add(jRadioButton2, BorderLayout.CENTER);contentPane.add(jRadioButton3, BorderLayout.SOUTH);setTitle("单选按钮测试窗口");setVisible(true);setSize(650, 500);setLocationRelativeTo(null);setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}public static void main(String[] args) {new JButtonDemo02();}
}
运行结果:

- 多选按钮JCheckBox:
package com.duo.lesson05;import javax.swing.*;
import java.awt.*;public class JButtonDemo03 extends JFrame {public JButtonDemo03() {Container contentPane = getContentPane();//多选按钮框JCheckBox jCheckBox1 = new JCheckBox("A");JCheckBox jCheckBox2 = new JCheckBox("B");contentPane.add(jCheckBox1, BorderLayout.NORTH);contentPane.add(jCheckBox2, BorderLayout.SOUTH);setTitle("多选按钮测试窗口");setVisible(true);setSize(650, 500);setLocationRelativeTo(null);setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}public static void main(String[] args) {new JButtonDemo03();}
}
运行结果:

相关文章:
【GUI】-- 08 JButton、JRadioButton、JCheckBox
GUI编程 03 Swing 3.5 JButton 图片置于按钮之上的JButton: package com.duo.lesson05;import javax.swing.*; import java.awt.*; import java.net.URL;public class JButtonDemo01 extends JFrame {public JButtonDemo01() {Container contentPane getConten…...
【postgresql】CentOS7 安装Pgweb
Pgweb Pgweb是PostgreSQL的一个基于web的数据库浏览器,用Go编写,可在Mac、Linux和Windows机器上运行。以零依赖性的简单二进制形式分布。非常易于使用,并具有适当数量的功能。简单的基于web和跨平台的PostgreSQL数据库浏览器。 特点 跨平台…...
基于python和定向爬虫的商品比价系统
论文下载 基于python和定向爬虫的商品比价系统 Price Comparison System for Products Based on Python and Targeted Web Crawling 目录 目录 2 摘要 3 关键词 3 第一章 绪论 4 1.1 研究背景 4 1.2 研究意义 5 1.3 国内外研究现状 7 1.4 本文主要工作和章节安排 8 …...
使用GPT-4训练数据微调GPT-3.5 RAG管道
原文:使用GPT-4训练数据微调GPT-3.5 RAG管道 - 知乎 OpenAI在2023年8月22日宣布,现在可以对GPT-3.5 Turbo进行微调了。也就是说,我们可以自定义自己的模型了。然后LlamaIndex就发布了0.8.7版本,集成了微调OpenAI gpt-3.5 turbo的…...
二十三种设计模式全面解析-深入解析模板方法模式的奇妙世界
在软件设计的奇妙宇宙中,有一种设计模式如一颗流星般划过,留下绚丽的光芒,它就是——模板方法模式(Template Method Pattern)。这个模式不仅令代码更加灵活,而且蕴含了一种设计哲学,本文将深入研…...
【Spring】加载properties文件
文章目录 在Spring Context中加载properties文件测试总结 在Spring Context中加载properties文件 分为三步,如下图所示: 完整代码: <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.…...
react中间件的理解
一、是什么? 中间件(Middleware)在计算机中,是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络应用上的各个部分或不同的应用,能…...
React函数组件状态Hook—useState《进阶-对象数组》
React函数组件状态-state 对象 state state 中可以保存任意类型的 JavaScript 值,包括对象。但是,你不应该直接修改存放在 React state 中的对象。相反,当你想要更新⼀个对象时,你需要创建⼀个新的对象(或者将其拷⻉⼀…...
linux 网络 cat /proc/net/dev 查看测试网络丢包情况
可以通过 cat /proc/net/dev 查看测试网络丢包情况,drop关键字,查看所有网卡的丢包情况 还可以看其他数据, /proc/net/下面有如下文件...
记录配置VS,使用opencv与Eigen
方法一: 1.下载VS 2.配置opencv,参考大佬博客,注意更改博客中版本的部分细节,比如opencv_world440d.lib换成自己下载的版本 3.配置Eigen,参考大佬博客 方法二:博客 本人第一次配置时候按照这篇内容配置的,但是不知道哪…...
uart控制led与beep
仲裁模块代码: // 外设控制模块,根据uart接收到的数据,控制led与beep的标志信号。 module arbit(input wire sys_clk ,input wire sys_rst_n ,input wire pi_flag …...
Linux修改root密码
如果知道当前的root密码,修改boot密码操作较简单。 步骤如下: # passwd --在root用户下执行passwd命令 Changing password for user root. New password: --此处输入新密码 BAD PASSWORD: The password is shorter than 8 characters Ret…...
C/C++模板类模板与函数模板区别,以及用法详解
类模板 类模板语法 类模板作用: 建立一个通用类,类中的成员 数据类型可以不具体制定,用一个虚拟的类型来代表。 语法: template<typename T> 类解释: template --- 声明创建模板 typename --- 表面其后面的…...
van-dialog弹窗异步关闭-校验表单
van-dialog弹窗异步关闭 有时候我们需要通过弹窗去处理表单数据,在原生微信小程序配合vant组件中有多种方式实现,其中UI美观度最高的就是通过van-dialog嵌套表单实现。 通常表单涉及到是否必填,在van-dialog的确认事件中直接return是无法阻止…...
Dynamic Wallpaper 16.7中文版
Macos动态壁纸推荐: Dynamic Wallpaper是一款Mac平台上的动态壁纸应用程序,它可以根据时间等因素动态切换壁纸,提供更加生动和多样化的桌面体验。 Dynamic Wallpaper包含了多个动态壁纸,用户可以根据自己的喜好选择和切换。这些…...
如何使用ArcGIS Pro制作渐变河流效果
对于面要素的河流水系,制作渐变效果方法比较简单,如果是线要素的河流有办法制作渐变效果吗,答案是肯定的,这里为大家介绍一下制作方法,希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的水系数…...
《网络协议》06. HTTP 补充 · HTTPS · SSL/TLS
title: 《网络协议》06. HTTP 补充 HTTPS SSL/TLS date: 2022-10-06 18:09:55 updated: 2023-11-15 07:53:52 categories: 学习记录:网络协议 excerpt: HTTP/1.1 协议的不足、HTTP/2、HTTP/3、HTTP 协议的安全问题、SPDY、HTTPS、SSL/TLS、OpenSSL。 comments: fa…...
Python winreg将cmd/PowerShell(管理员)添加到右键菜单
效果 1. 脚本 用管理员权限运行,重复执行会起到覆盖效果(根据sub_key)。 icon自己设置。text可以自定义。sub_key可以改但不推荐(避免改成和系统已有项冲突的)。command不要改。 from winreg import *registry r&q…...
redis运维(九)字符串(二)字符串过期时间
一 字符串过期时间 细节点: 注意命令的入参和返回值 ① 再谈过期时间 说明: 设置key的同时并且设置过期时间,是一个原子操作 ② ttl 检查过期时间 ③ persist 删除过期时间 ④ redis 删除过期key的机制 ⑤ 惰性删除 惰性理解:让过期…...
【C++】多线程的学习笔记(3)——白话文版(bushi
前言 好久没有继续写博客了,原因就是去沉淀了一下偷懒了一下 现在在学网络编程,c的多线程也还在学 这一变博客就讲讲c中的Condition Variable库吧 Condition Variable的简介 官方原文解释 翻译就是 条件变量是一个对象,它能够阻止调用…...
51单片机项目避坑实录:我的声光控灯为什么白天也亮?从硬件到代码的故障排查指南
51单片机声光控灯项目实战:从硬件选型到代码调试的深度避坑指南 深夜的实验室里,我盯着眼前这个不听话的声光控灯——明明窗外阳光明媚,它却固执地亮着。作为一名嵌入式开发新手,这个看似简单的51单片机项目让我踩遍了所有可能的坑…...
7个实用技巧!Java Faker数据质量保证:如何验证生成数据的准确性和多样性
7个实用技巧!Java Faker数据质量保证:如何验证生成数据的准确性和多样性 【免费下载链接】java-faker Brings the popular ruby faker gem to Java 项目地址: https://gitcode.com/gh_mirrors/ja/java-faker Java Faker是一个强大的Java库&#x…...
KinhDown:突破百度网盘限速的效率革命
KinhDown:突破百度网盘限速的效率革命 【免费下载链接】baidupcs-web 项目地址: https://gitcode.com/gh_mirrors/ba/baidupcs-web 在数字化时代,云存储已成为我们工作与生活中不可或缺的一部分。然而,百度网盘对免费用户实施的严格限…...
CasaOS应用商店太单调?试试这几个社区维护的源,青龙面板、迅雷都能一键装
CasaOS社区应用源全攻略:解锁青龙面板、迅雷等本土化神器 如果你已经厌倦了CasaOS官方应用商店里那些千篇一律的容器镜像,正为找不到迅雷下载、青龙面板这类中国特色应用而发愁,那么这篇文章就是为你准备的。作为一个长期折腾家庭服务器的玩家…...
Unity 2021/2019 项目里用 NModbus4.dll 搞定 Modbus TCP 通信(附测试工具和避坑指南)
Unity工业通信实战:用NModbus4实现Modbus TCP全流程开发指南 当游戏引擎遇上工业协议,会碰撞出怎样的火花?三年前接手一个智能制造培训项目时,我首次尝试在Unity中集成Modbus通信。原以为简单的协议对接,却因线程冲突导…...
typedef用法
将为你介绍typedef 4 种应用方式。应用一、为基本数据类型定义新的类型名用uint32_t替代unsigned int声明变量/* 变量名重定义 */typedef unsigned int uint32_t;/* 定义一个unsigned int类型的变量 */uint32_t count 0;应用二、为自定义数据类型(结构体、共用体和…...
BEYOND REALITY Z-Image实测:同一张脸,两种质感,细节对比一目了然
BEYOND REALITY Z-Image实测:同一张脸,两种质感,细节对比一目了然 今天我要带大家做一个有趣的实验。想象一下,你面前站着同一个人,但左边是手机快照,右边是专业单反拍摄的照片——这就是BEYOND REALITY Z…...
百度大模型二面:有微调过 Agent 能力吗?数据集如何收集?
1. 问题分析做 Agent 的团队很多,但真正动手微调过 Agent 能力的人并不多。大部分人停留在 Prompt 闭源 API 的阶段就基本上交差了,只有当你真的需要在开源模型上把 Agent 跑起来、或者对工具调用的稳定性有极致要求时,才会走到微调这一步。…...
SDMatte与LSTM时序模型结合:处理视频连续帧的稳定抠图
SDMatte与LSTM时序模型结合:处理视频连续帧的稳定抠图 1. 引言:视频抠图的挑战与机遇 视频抠图技术一直是影视后期和直播领域的核心需求。传统方法在处理动态场景时常常面临边缘闪烁、细节丢失和时间不一致等问题。想象一下,当你在视频会议…...
解锁外语游戏新体验:XUnity自动翻译器完全指南 [特殊字符]
解锁外语游戏新体验:XUnity自动翻译器完全指南 🎮 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语游戏中的生涩文本而苦恼吗?XUnity自动翻译器让你轻松打破语…...
