读书人

关于Swing单选有关问题

发布时间: 2011-12-23 23:32:01 作者: rapoo

关于Swing单选问题
为什么我用 swing的单选按钮的时候可以多选?

要怎么设置才不会多选

代码:int margin = 30;
for (int i = 0; i < list.size(); i++) {
tmd = new TypeManageDTO();
String value = list.get(i).getInfotype_value();
JRadioButton jrb = new JRadioButton(value);
jrb.setBounds(0, margin, 1480, 10);
margin += 30;
jPanel1.add(jrb);

}

[解决办法]
单选按钮的效果其实还是要用ButtonGroup才能实现的,简单地添加到面板里面不行的,先给你贴个例子

Java code
import javax.swing.*;import java.awt.*;import java.awt.event.*;/** * 这是JRadioButton使用的一个实例 * 获取JRadioButton的对应值感觉还是麻烦了一些,不知道有没有简单一些的方法? * @author GaoYong * */public class JRadioButtonDemo1 extends JFrame{    private ButtonGroup genderGroup=null;    private JRadioButton boyBtn=null;    private JRadioButton girlBtn=null;        public JRadioButtonDemo1(){}        public JRadioButtonDemo1(String title){        super(title);        boyBtn=new JRadioButton("boy");        girlBtn=new JRadioButton("girl");        genderGroup=new ButtonGroup();        genderGroup.add(boyBtn);        genderGroup.add(girlBtn);                this.getContentPane().setLayout(new FlowLayout());        this.getContentPane().add(boyBtn);        this.getContentPane().add(girlBtn);                girlBtn.addActionListener(new ActionListener(){            @Override            public void actionPerformed(ActionEvent arg0) {                // TODO Auto-generated method stub//                genderGroup.getSelection().g                System.out.println(girlBtn.getText());                System.out.println("girlBtn is selected is "+girlBtn.isSelected());                            }                    });                boyBtn.addActionListener(new ActionListener(){            @Override            public void actionPerformed(ActionEvent arg0) {                // TODO Auto-generated method stub                System.out.println(boyBtn.getText());                System.out.println("boyBtn is selected is "+boyBtn.isSelected());                            }                    });                        this.pack();        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        this.setLocationRelativeTo(null);        this.setVisible(true);    }        public static void main(String[] args){        new JRadioButtonDemo1("Demo");    }}
[解决办法]
3楼正解、
[解决办法]
3楼正解。
需要使用ButtonGroup这个东东

读书人网 >J2SE开发

热点推荐