bin_csdn_
2014-08-06 16:26
采纳率: 0%
浏览 4.3k

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条回答 默认 最新

  • 生风虎 2014-08-08 04:52

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

    点赞 打赏 评论
  • hxcahsq 2015-11-04 16:03

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

    点赞 打赏 评论

相关推荐 更多相似问题