java GUI 复选框 如何设置监听

Checkboxcb1,cb2,cb3,cb4,cb5,cb66个复选框;cb1=newCheckbox("数据库");cb2=newCheckbox("数学");cb3... Checkbox cb1,cb2,cb3,cb4,cb5,cb6 6个复选框;
cb1=new Checkbox("数据库");
cb2=new Checkbox("数学");
cb3=new Checkbox("信息系统");
cb4=new Checkbox("操作系统");
cb5=new Checkbox("数据结构");
cb6=new Checkbox("C语言");
我想添加监听 如果被选上 那就把里面的字符串取出来,怎么做
每个cb 复选框都得加监听 加什么监听???
我的意思是 如果界面上 选择了 cb1 , cb2. 那我就用两个字符串变量 string 1 = “数据库”
string2 = “数学”;
展开
 我来答
hardneedl
推荐于2018-03-26 · TA获得超过921个赞
知道小有建树答主
回答量:1353
采纳率:57%
帮助的人:606万
展开全部
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
/**
 * @author Hardneedl
 */
final class CheckBoxDemo extends JFrame {
    public String getTitle() {return "CheckBoxDemo";}
    static private final Dimension size = new Dimension(600,400);
    public Dimension getPreferredSize() {return size;}
    public Dimension getMaximumSize() {return size;}
    public Dimension getMinimumSize() {return size;}
    public Dimension getSize(){return size;}

    //把选中的内容放进 List
    final private java.util.List<String> stringList=new ArrayList<String>(5);

    private class CheckAction extends AbstractAction{

        private CheckAction(String name) {
            super(name);
        }

        public void actionPerformed(ActionEvent e) {
            Object obj=e.getSource();
            if (obj instanceof JToggleButton){
                JToggleButton t = (JToggleButton)obj;

                if(t.isSelected())
                    stringList.add(t.getText());
                else
                    stringList.remove(t.getText());
            }

            //打印效果
            for (String s:stringList) {
                System.out.print(s + "\t");
            }
            System.out.println();
        }
    }

    CheckBoxDemo() throws HeadlessException {
        init();
        attachListeners();
        doLay();
    }

    private JCheckBox[] buttons=new JCheckBox[4];
    private void init(){

        for (int i = 0,j=buttons.length;i < j; i++) {
            buttons[i]=new JCheckBox(new CheckAction(Integer.toString(i)));
        }

    }

    private void attachListeners(){
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    private void doLay(){
        Container container = getContentPane();
        container.setLayout(new FlowLayout());

        for (JCheckBox button : buttons) {
            container.add(button);
        }


        pack();
        setVisible(true);
    }
    public static void main(String...args) {
        System.setProperty("swing.defaultlaf","com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        SwingUtilities.invokeLater(
            new Runnable(){
                public void run() {
                    new CheckBoxDemo();
                }
            }
        );
    }
}
百度网友12ee0fd
2013-06-26 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:1951万
展开全部
addItemListener
追问
cb1。addItemListener
cb2。addItemListener
cb3。addItemListener
cb4。addItemListener
cb5。addItemListener
cb6。addItemListener
写6个 ?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式