zoukankan      html  css  js  c++  java
  • Java Swing界面编程(27)---JRadioButton事件处理

    在单选button操作中。能够使用ItemListener接口进行事件的监听。

    package com.beyole.util;
    
    import java.awt.Container;
    import java.awt.GridLayout;
    import java.awt.event.ItemEvent;
    import java.awt.event.ItemListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.io.File;
    
    import javax.swing.BorderFactory;
    import javax.swing.ButtonGroup;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    
    class MyRadio1 implements ItemListener {
    	private String right = "f:" + File.separator + "2.png";// 定义图片路径
    	private String wrong = "f:" + File.separator + "3.png";// 定义图片路径
    	private JFrame frame = new JFrame("Beyole");// 定义窗口
    	private Container container = frame.getContentPane();// 得到窗口容器
    	private JRadioButton jb1 = new JRadioButton("男", new ImageIcon(right), true);
    	private JRadioButton jb2 = new JRadioButton("女", new ImageIcon(wrong),
    			false);
    	private JPanel panel = new JPanel();// 定义一个面板
    
    	public MyRadio1() {
    		panel.setBorder(BorderFactory.createTitledBorder("选择性别"));// 定义一个面板的边框显示条
    		panel.setLayout(new GridLayout(1, 3));// 定义排版,一行三列
    		ButtonGroup group = new ButtonGroup();// 定义一个button组
    		group.add(this.jb1);// 将单选button组增加到一个组
    		group.add(this.jb2);// 将单选button组增加到一个组
    		panel.add(this.jb1);// 将单选button增加到面板其中
    		panel.add(this.jb2);// 将单选button增加到面板其中
    		jb1.addItemListener(this);// 增加监听事件
    		jb2.addItemListener(this);// 增加监听事件
    		container.add(panel);// 增加面板到容器中
    		this.frame.setSize(200, 100);
    		this.frame.setVisible(true);
    		this.frame.addWindowListener(new WindowAdapter() {
    			public void windowClosing(WindowEvent arg0) {
    				System.exit(1);
    			}
    		});
    	}
    
    	public void itemStateChanged(ItemEvent e) {
    		if (e.getSource() == jb1) {
    			jb1.setIcon(new ImageIcon(right));
    			jb2.setIcon(new ImageIcon(wrong));
    		} else {
    			jb2.setIcon(new ImageIcon(right));
    			jb1.setIcon(new ImageIcon(wrong));
    		}
    	}
    }
    
    public class JRadioButtonDemo1 {
    	public static void main(String[] args) {
    		new MyRadio1();
    	}
    }
    

    以上程序。使用ImageIcon设置了两个单选button的图片,每次选项改变后都会触发itemStateChanged事件,之后改动每一个选项的显示图片。

    程序截图:



  • 相关阅读:
    228. Summary Ranges
    227. Basic Calculator II
    224. Basic Calculator
    222. Count Complete Tree Nodes
    223. Rectangle Area
    221. Maximal Square
    220. Contains Duplicate III
    219. Contains Duplicate II
    217. Contains Duplicate
    Java编程思想 4th 第4章 控制执行流程
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5219242.html
Copyright © 2011-2022 走看看