Java 入门图形用户界面设计之单选按钮
作者:小旺不正经 发布时间:2023-08-29 13:40:02
标签:Java,单选按钮,图形用户界面
Java程序设计 图形用户界面 【九】单选按钮
单选按钮 JRadioButton
JRadioButton类
方法 | 作用 |
---|---|
public JRadioButton(Icon icon) | 建立一个单选按钮,并指定图片 |
public JRadioButton(Icon icon,boolean selected) | 建立一个单选按钮,并指定图片和其是否选定 |
public JRadioButton(String text) | 建立一个单选按钮,并指定其文字,默认不选定 |
public JRadioButton(String text,boolean selected) | 建立一个单选按钮,并指定文字和是否选定 |
public JRadioButton(String text,Icon icon,boolean selected) | 建立一个单选按钮,并指定图片、文字和其是否选定 |
public void setSelected(boolean b) | 设置是否选中 |
public boolean isSelected() | 返回是否被选中 |
public void setText(String text) | 设置显示文本 |
public void setIcon(Icon defaultIcon) | 设置图片 |
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class MyRadio{
private JFrame frame = new JFrame("一");
private Container cont = frame.getContentPane();
private JRadioButton jrb1 = new JRadioButton("1");
private JRadioButton jrb2 = new JRadioButton("2");
private JRadioButton jrb3 = new JRadioButton("3");
private JPanel pan = new JPanel();
public MyRadio(){
pan.setBorder(BorderFactory.createTitledBorder("请选择"));
pan.setLayout(new GridLayout(1,3));
pan.add(this.jrb1);
pan.add(this.jrb2);
pan.add(this.jrb3);
ButtonGroup group = new ButtonGroup();
group.add(this.jrb1);
group.add(this.jrb2);
group.add(this.jrb3);
cont.add(pan);
this.frame.setSize(330,80);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
System.exit(1);
}
});
}
}
public class Hello {
public static void main(String[] args) {
new MyRadio();
}
}
ButtonGroup group = new ButtonGroup();
group.add(this.jrb1);
group.add(this.jrb2);
group.add(this.jrb3);
将按钮添加到同一个组中实现单选功能
JRadioButton事件处理
使用ItemListener接口进行事件的监听
方法 | 作用 |
---|---|
void itemStateChanged(ItemEvent e) | 当用户取消或选定某个选项时调用 |
ItemEvent类
方法&常量 | 类型 | 作用 |
---|---|---|
public static final int SELECTED | 常量 | 选项被选中 |
public static final int DESELECTED | 常量 | 选项未被选中 |
public Object getItem() | 方法 | 返回受事件影响的选项 |
public int getStateChange() | 方法 | 返回选定状态的类型(已选择或已取消) |
import javax.swing.*;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class MyRadio implements ItemListener{
private JLabel a = new JLabel("选中");
private JLabel b = new JLabel("未选中");
private JFrame frame = new JFrame("一");
private Container cont = frame.getContentPane();
private JRadioButton jrb1 = new JRadioButton("A",true);
private JRadioButton jrb2 = new JRadioButton("B",true);
private JPanel pan = new JPanel();
public MyRadio(){
ButtonGroup group = new ButtonGroup();
group.add(this.jrb1);
group.add(this.jrb2);
jrb1.addItemListener(this);
jrb2.addItemListener(this);
pan.setLayout(new GridLayout(1,4));
pan.add(this.a);
pan.add(this.jrb1);
pan.add(this.b);
pan.add(this.jrb2);
this.frame.add(pan);
this.frame.setSize(200,100);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
System.exit(1);
}
});
}
@Override
public void itemStateChanged(ItemEvent e) {
if(e.getSource()==jrb2){
a.setText("未选中");
b.setText("选中");
}else {
b.setText("未选中");
a.setText("选中");
}
}
}
public class Hello {
public static void main(String[] args) {
new MyRadio();
}
}
来源:https://blog.csdn.net/weixin_42403632/article/details/122908840


猜你喜欢
- 第一步:整合pom文件,在Spring Cloud中添加XXL-Job的依赖<!-- xxl-job-core --><d
- 一、项目简述功能包括(管理员和游客角色):1:用户及主要操作功能 游客可以浏览网站的主页,但是需要注册为会员后部分小 说才能对网络小说进免费
- association和collection用法1.单个关联查询association1.1实体之间的关联表示package com.wor
- 这里我又唠叨几句,大家在学习的时候,如看书或者看视频时觉得非常爽,因为感觉基本都看得懂也都挺容易的,其实看懂是一回事,你自己会动手做出来是一
- class ColorComboBox : ComboBox {&
- Java goto语句妙用今天和朋友聊天的时候,无意间聊到了 goto 语句,但是在 Java 中, goto 是保留关键字,但是朋友说 J
- //C# 根据当前时间获取本周、下周、本月、下月、本季度等时间段DateTime dt = DateTime.Now; //当前
- 【1】阻塞队列一、什么是阻塞队列?① 支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。② 支持阻塞的移除方法:
- HttpWebRequest 是一个Http 请求类,继承于 WebRequest。WebRequest 是一个抽象类,能够对统一资源标识符
- Android和iOS开发都支持C++开发,可以一套代码多平台使用。同时C++难以反编译的特性也可以为Android开发带来代码的保密,另一
- 本文实例讲述了C# TreeView无限目录树实现方法。分享给大家供大家参考,具体如下:#region 绑定客户树protected voi
- Java 分割字符串java.lang.String 的 split() 方法, JDK 1.4 or laterpublic
- 场景:最新的leakCanary2.8.1:debugImplementation 'com.squareup.leakcanary
- 上代码dialog.getWindow().getDecorView().setSystemUiVisibility(View.
- JavaWeb项目部署到服务器详细步骤本地准备在eclipse中将项目打成war文件:鼠标右键要部署到服务器上的项目导出项目数据库文件MyS
- Android手机或平板都会存在横竖屏切换的功能,通常是由物理重力感应触发的,但是有时候也不尽然,通常在设置里面我们可以对手机的横竖屏切换进
- 在spring boot 项目中使用thymeleaf模板,将后台数据传递给前台界面。1、将后台数据传递给前台有很多种方式,可以将后台要传递
- QueryWrapper条件构造之apply、last、select场景: 查询数据库限制条数时mysql上的limit使用 Qu
- 前言很久没有写关于 Spring 的文章了,最近在系统梳理 Dubbo 代码的过程中发现了 XML schema 这个被遗漏的知识点。由于工
- 一、解码流程解码流程大致分为以下三个部分,以FFmpge源码下的ffmpeg\doc\examples\decode_audio.c为参考。