Java-Swing-单选按钮

xiaoxiao2021-02-28  128

1. 定义

在Swing中实现单选按钮非常简单,-为单选按钮构造一个ButtonGroup对象;然后把JRadioButton类型的对象添加到ButtonGroup中。

这里的ButtonGroup按钮组负责按下新按钮时取消前一次按下的操作。 //定义单选按钮 ButtonGroup group=new ButtonGroup(); JRadioButton networkButton=new JRadioButton("网络",true); group.add(networkButton); JRadioButton blueToothButton=new JRadioButton("蓝牙",false); group.add(blueToothButton); 这里的true和false表示初始状态时是否选择,当然,只能有一个true,其余为false。这里的ButtonGroup按钮组仅仅负责控制按钮的操作行为,如果想把这些按钮组织在一起布局,需要把JRadioButton它们再次添加到容器中,如JPanel。

2. 定义监听器

用户单击一个按钮时产生一个单击事件,需要定义动作监听器来设置具体操作。

ActionListener listener=new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //动作事件 } } };//listener

3. 示例

这里有两个按钮一个lable,每次单击都改变lable上的text。 public static void main(String[] args) { //定义单选按钮 ButtonGroup group=new ButtonGroup(); JRadioButton networkButton=new JRadioButton("网络",true); group.add(networkButton); JRadioButton blueToothButton=new JRadioButton("蓝牙",false); group.add(blueToothButton); //ButtonGroup放在JPanel中 JPanel ButtonPanel=new JPanel(); ButtonPanel.add(networkButton); ButtonPanel.add(blueToothButton); //Panel放在JFrame中 JFrame jf=new JFrame("单选按钮"); jf.add(ButtonPanel,BorderLayout.CENTER); //加上一个Jlable,改变单选按钮时,jlable也相应变化 JLabel label=new JLabel(); label.setText("默认"); jf.add(label,BorderLayout.NORTH); jf.pack(); jf.setVisible(true); //改变时定义监听器 ActionListener listener=new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub switch (e.getActionCommand()) { case "网络": label.setText("网络"); break; case "蓝牙": label.setText("蓝牙"); break; default: break; } } };//listener //定义单选按钮监听器 networkButton.addActionListener(listener); blueToothButton.addActionListener(listener); }//main

转载请注明原文地址: https://www.6miu.com/read-33833.html

最新回复(0)