2 chen victor Chen_Victor 于 2014.08.07 00:26 提问

java的swing程序设计,为窗体添加多个复选框组件

本人在练习java的swing程序设计,想为窗体添加多个复选框组件,目标是达到下面图片的效果
CSDN移动问答

我的源代码是这样的:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;

public class CheckBoxTest extends JFrame {

private static final long serialVersionUID = -5028523145642314067L;

public static void main(String[] args) {
    new CheckBoxTest();
}

public CheckBoxTest() {
    Container c = getContentPane();
    JPanel panel1 = new JPanel();
    JPanel panel2 = new JPanel();
    final JTextArea jt = new JTextArea(20, 50);
    c.setLayout(new BorderLayout());
    c.add(panel1, BorderLayout.NORTH);
    JScrollPane scrollPane = new JScrollPane(jt);
    panel1.add(scrollPane);
    c.add(panel2, BorderLayout.SOUTH);
    for (int i = 0; i < 3; i++) {
        final JButton jb = new JButton("button" + i);
        jb.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                // TODO 自动生成的方法存根
                if (jb.isSelected())
                    jt.append("复选框i被选中\n");
            }
        });
        panel2.add(jb);
    }
    setSize(200, 200);
    setVisible(true);
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}

}
可是我运行后的结果却是这样的:
CSDN移动问答

怎么点击按钮都没有反应。。。
本人自学java,希望有大神能帮帮忙。。。

2个回答

u012585224
u012585224   2014.08.08 12:52

你的复选框组件没写对,要有JCheckBox组件继承javax.swing.AbstractButton类中的一些方法,比如 boolean isSelected(),void setSelected(boolean b).这样的方法,你写的那几个仅仅是按钮是JPanel。最好再看看书,这些是基本的东西。

hxcahsq
hxcahsq   2015.11.05 00:03

那是复选框么?!怎么感觉像是一个文本欲。。

Csdn user default icon
上传中...
上传图片
插入图片