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
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JavaGUI——swing组件基础(三)单选框和复选框
为什么要用这两个组件?当我们提供用户注册界面的时候,常常会用到:复选框组件(JCheckBox)单选框组件(JRadioButton)介绍两个个组件:复选框组件(JCheckBox):可以多选的选择框单选框组件(JRadioButton):只能单选的选择框注意事项:同一组单选按钮必须先创建ButtonGroup,然后把单选框组件放入到ButtonGroup中,才能在面板添加单选框。代码实现:思路:...
Java Swing JTable 表格【16:复选框JCheckBox作为表格元素】
上一篇介绍了组合列表框作为表格元素的例子,这篇根据上篇的DefaultCellEditor的构造方法,再来练习一个复选框的例子这个例子首先在创建数据时,复选框那一列的值默认值一个给得是false,一个给的是true,所以界面打开的时候会一个是选中,一个是没选中,如图: 代码如下: package com.acconsys.swing.chapter14;import java.awt.Borde
如何在Swing窗体增删组件后及时刷新显示新界面
关键的四行代码,连续调用窗体的四个方法即可: repaint(); validate(); invalidate(); validate();
Swing JList使用
1JList控件类似于一组单选按钮或复选框,通过点击自身来进行选定,也可以选择多个。    2创建一个Jlist实例(构造函数如下)     AJList();          B JList(Object[] obj);          C JList (Vector vect);          D JList(ListModel dataModel);      3简单的初
为swing表格添加复选框
public class CheckBoxRenderer implements TableCellRenderer {     @Override     public Component getTableCellRendererComponent(JTable table, Object value,             boolean isSelected, boolean h
java Swing 在table中添加复选框
table = new JTable();   table.setModel(new DefaultTableModel(     new Object[][] { null, null, null,null, null,null }, new String[] { "编号",       "姓名", "邮箱","电话","地址","是否选中"}));   //给table最后一列加上复选
Java Swing界面编程(21)---事件处理:窗体事件
WindowLIstener是专门处理窗体的事件监听窗口,一个窗体的所有变化,如窗口的打开、关闭等都可以使用这个接口进行监听。 实现WIndowListener: package com.beyole.util; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; public class MyW
使用带复选框的CheckBoxTree树组件
在使用Java Swing开发UI程序时,很有可能会遇到使用带复选框的树的需求,但是Java Swing并没有提供这个组件,因此如果你有这个需求,你就得自己动手实现带复选框的树。 CheckBoxTree与JTree在两个层面上存在差异: 1.在模型层上,CheckBoxTree的每个结点需要一个成员来保存其是否被选中,但是JTree的结点则不需要。 2.在视图层上,
Java中带复选框的树(Java CheckBox Tree)的实现和应用
在使用Java Swing开发UI程序时,很有可能会遇到使用带复选框的树的需求,但是Java Swing并没有提供这个组件,因此如果你有这个需求,你就得自己动手实现带复选框的树。 CheckBoxTree与JTree在两个层面上存在差异: 在模型层上,CheckBoxTree的每个结点需要一个成员来保存其是否被选中,但是JTree的结点则不需要。在视图层上,CheckBoxTree的每
JAVA之Swing程序设计
一.Swing概述 二.创建窗体 三.常用组件             1.JLabel标签组件             2.JButton按钮组件             3.JRadioButton(单选按钮)组件             4.JCheckBox(复选框)组件             5.JComboBox(选择框)组件             6.JList(