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

发布于 2017-01-28 17:14:57 字数 1772 浏览 1402 评论 1

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

请输入图片描述

我的源代码是这样的:

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);
}
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泛泛之交 2017-10-24 00:56:01

没调试你的代码, 但是这里应该是有问题的:

JButton jb;
jb.isSelected()

没理解错的话, JButton是没有状态的, 你试试JToggleButton.
http://docs.oracle.com/javase/7/docs/api/javax/swing/JToggleButton.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文