Java 入门图形用户界面设计之单选按钮

 更新时间:2022年02月16日 15:18:02   作者:小旺不正经  
图形界面(简称GUI)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受,本篇精讲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();
    }
}

image-20220213140637190

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();
    }
}

image-20220213143404542

image-20220213143420956

到此这篇关于Java 入门图形用户界面设计之单选按钮的文章就介绍到这了,更多相关Java 单选按钮内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中sleep()与wait()的区别总结

    Java中sleep()与wait()的区别总结

    因为最近学习时正好碰到这两个方法,就查阅相关资料,并通过程序实现,进行区别总结一下,所以下面这篇文章主要给大家总结介绍了关于Java中sleep()与wait()区别的相关资料,需要的朋友可以参考,下面来一起看看吧。
    2017-05-05
  • @Configuration保证@Bean单例语义方法介绍

    @Configuration保证@Bean单例语义方法介绍

    这篇文章主要介绍了SpringBoot中的@Configuration与@Bean注解,在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制,只有把这些都搞清楚了,我们在之后使用才会更加得心应手
    2023-01-01
  • Java中保证线程顺序执行的操作代码

    Java中保证线程顺序执行的操作代码

    本文给大家分享一篇教程关于java线程顺序执行问题,如何保证线程的顺序执行呢?今天通过实例代码给大家详细讲解下,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • JavaSE实现电影院系统

    JavaSE实现电影院系统

    这篇文章主要为大家详细介绍了JavaSE实现电影院系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • java实现24点游戏

    java实现24点游戏

    每次取出4张牌,使用加减乘除,第一个能得出24者为赢,这篇文章主要就为大家详细介绍了java实现24点游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • 使用Java servlet实现自动登录退出功能

    使用Java servlet实现自动登录退出功能

    这篇文章主要介绍了使用Java servlet实现自动登录退出功能,,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • SpringBoot之webflux全面解析

    SpringBoot之webflux全面解析

    这篇文章主要介绍了SpringBoot之webflux全面解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Windows中使用Java生成Excel文件并插入图片的方法

    Windows中使用Java生成Excel文件并插入图片的方法

    这篇文章主要介绍了Windows中使用Java生成Excel文件并插入图片的方法,其中向Excel中插入图片文中通过使用Apache POI来实现,需要的朋友可以参考下
    2016-02-02
  • AspectJ的基本用法

    AspectJ的基本用法

    本文主要介绍了AspectJ的基本用法。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Java实战之在线租房系统的实现

    Java实战之在线租房系统的实现

    这篇文章主要介绍了利用Java实现的在线租房系统,文中用到了SpringBoot、Redis、MySQL、Vue等技术,文中示例代码讲解详细,需要的可以参考一下
    2022-02-02

最新评论