• JRadioButton(单选按钮)添加事件监听


    效果图:


    代码:

    import java.io.File ;
    import java.awt.Container ;
    import java.awt.GridLayout ;
    import java.awt.event.WindowAdapter ;
    import java.awt.event.ItemListener ;
    import java.awt.event.ItemEvent  ;
    import java.awt.event.WindowEvent ;
    import javax.swing.JFrame ;
    import javax.swing.JPanel ;
    import javax.swing.JRadioButton ;
    import javax.swing.ButtonGroup ;
    import javax.swing.BorderFactory ;
    import javax.swing.ImageIcon ;
    class MyRadio implements ItemListener{
        private String right = "d:" + File.separator + "right.png" ;
        private String wrong = "d:" + File.separator + "wrong.gif" ;
        private JFrame frame = new JFrame("测试信息") ;
        private Container cont = frame.getContentPane() ;
        private JRadioButton jrb1 = new JRadioButton("男",new ImageIcon(right),true) ;
        private JRadioButton jrb2 = new JRadioButton("女",new ImageIcon(wrong),false) ;
        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) ;
           
            ButtonGroup group = new ButtonGroup() ;
            group.add(this.jrb1) ;
            group.add(this.jrb2) ;
           
            jrb1.addItemListener(this) ;
            jrb2.addItemListener(this) ;
    
            cont.add(pan) ;
            this.frame.setSize(300,80) ;
            this.frame.setVisible(true) ;
            this.frame.addWindowListener(new WindowAdapter(){
                public void windowClosing(WindowEvent obj){
                    System.exit(1) ;
                }
            }) ;
        }
        public void itemStateChanged(ItemEvent e){
            if(e.getSource()==jrb1){
                jrb1.setIcon(new ImageIcon(right)) ;
                jrb2.setIcon(new ImageIcon(wrong)) ;
            }else{
                jrb1.setIcon(new ImageIcon(wrong)) ;
                jrb2.setIcon(new ImageIcon(right)) ;
           
            }
        }
    };
    class Tester{
        public static void main(String args[]){
            new MyRadio() ;
        }
    };
    


  • 相关阅读:
    依赖注入模式与反模式
    WPF异常——某个ItemsControl与它的项源不一致
    C# 3进化的数据访问之智能的编译器
    C# 2的重大改进之可空类型
    C# 1之外:构建于坚实基础上的新特性
    C# 1的核心基础之二——类型系统
    C# 1的核心基础之一——委托
    C#进化史
    单一职责原则
    HBase简介
  • 原文地址:https://www.cnblogs.com/emoji/p/4436816.html
Copyright © 2020-2023  润新知