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

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。最好再看看书,这些是基本的东西。

    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试