⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 radiobuttondemo.java

📁 java UI
💻 JAVA
字号:
//RadioButtonDemo.java
import javax.swing.*;
import java.awt.event.*; 
import java.awt.*;

public class RadioButtonDemo extends JPanel{
	
	//定义字符串类型的常量
	static String aString = "a";
	static String bString = "b";
	static String cString = "c";
	static String dString = "d";
	static String eString = "e";
	JLabel picture;
		
	public RadioButtonDemo(){
		
		//定义单选框按钮a并且初始化按钮的属性
		JRadioButton aButton = new JRadioButton(aString);
		aButton.setMnemonic('a');
		aButton.setActionCommand(aString);
		aButton.setSelected(true);
		aButton.setBackground(Color.pink);
		
		//定义单选框按钮b并且初始化按钮的属性
		JRadioButton bButton = new JRadioButton(bString);
		bButton.setMnemonic('b');
		bButton.setActionCommand(bString);
		bButton.setBackground(Color.pink);
		
		//定义单选框按钮c并且初始化按钮的属性
		JRadioButton cButton = new JRadioButton(cString);
		cButton.setMnemonic('c');
		cButton.setActionCommand(cString);
		cButton.setBackground(Color.pink);
		
		//定义单选框按钮d并且初始化按钮的属性
		JRadioButton dButton = new JRadioButton(dString);
		dButton.setMnemonic('d');
		dButton.setActionCommand(dString);
		dButton.setBackground(Color.pink);
		
		//定义单选框按钮e并且初始化按钮的属性
		JRadioButton eButton = new JRadioButton(eString);
		eButton.setMnemonic('e');
		eButton.setActionCommand(eString);
		eButton.setBackground(Color.pink);
		
		//实例化ButtonGroup类,将上述定义好的五个单选框按钮加到其对象group之中
		ButtonGroup group = new ButtonGroup();
		group.add(aButton);
		group.add(bButton);
		group.add(cButton);
		group.add(dButton);
		group.add(eButton);
		
		//实例化RadioListener类
		//将上述定义好的五个单选框按钮加入事件监听
		RadioListener myListener = new RadioListener();
		aButton.addActionListener(myListener);
		bButton.addActionListener(myListener);
		cButton.addActionListener(myListener);
		dButton.addActionListener(myListener);
		eButton.addActionListener(myListener);
		
		picture = new JLabel(new ImageIcon("image/"+aString+".gif"));
		picture.setPreferredSize(new Dimension(200,200));
		
		//实例化JPanel的对象
		//将五个单选框按钮加入到其对象radioPanel之中
		JPanel radioPanel = new JPanel();
		//将五个单选框按钮按照0行1列的格式排列
		radioPanel.setLayout(new GridLayout(0,1));
		radioPanel.add(aButton);
		radioPanel.add(bButton);
		radioPanel.add(cButton);
		radioPanel.add(dButton);
		radioPanel.add(eButton);
	    
	    setBackground(Color.pink);	    
	    setLayout(new BorderLayout());
	    
	    //单选框按钮位于总面板布局的西方
	    add(radioPanel,BorderLayout.WEST);	    
	    //图片位于总面板布局的中央
	    add(picture,BorderLayout.CENTER);
	    
	    setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
	}
	
	//对单选框按钮的事件响应
	class RadioListener implements ActionListener{
		public void actionPerformed(ActionEvent e){
			picture.setIcon(new ImageIcon("images/"+e.getActionCommand()+".gif"));
		}
	}
	
	//主函数,也是程序入口处
	public static void main(String s[]){
		JFrame jf = new JFrame("RadioButtonDemo");
		RadioButtonDemo rbd = new RadioButtonDemo();
		jf.setSize(300,300);
	    jf.setBackground(Color.pink);
		jf.setContentPane(rbd);
		jf.setVisible(true);
		
		jf.addWindowListener(new WindowAdapter() {	
			public void windowClosing(WindowEvent e){
				 System.exit(0);}
												
		});		
	}	
}	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -