我是 JFrame
的新手,正在设计一个应用程序...我创建了 16 个复选框,每个复选框分配了不同的值...现在我的问题是何时使用 JCheckBox
已选中我想将该值写入 JFormattedTextField
...
我添加了这样的复选框
JCheckBox[] jbx = new JCheckBox[16];
for(int i = 0; i < jbx.length; i++) {
if(i%2 == 0) {
jbx[i].setBounds(x_axis-300,y_axis,300,40);
panel.add(jbx[i]);
} else {
jbx[i].setBounds(x_axis,y_axis,300,40);
panel.add(jbx[i]);
y_axis += 30;
}
}
谁能帮我做到这一点......?
已编辑...
我使用了这段代码
b.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
System.out.println(e.getStateChange() == ItemEvent.SELECTED ? "Selected" : "Deselected");
}
});
当我尝试算术运算而不是打印时,它不起作用......
最佳答案
- 如果您希望在选中或取消选中时收到通知,然后对其做出响应,请将 ActionListener 或 ItemListener 添加到您的 JCheckBox。就这么简单。
- 至于写入 JFormattedTextField 部分,鉴于您迄今为止发布的信息有限,我们不知道您具体挂起了什么内容。
- 不要使用 null 布局和
setBounds(...)
这会导致 GUI 非常不灵活,虽然它们在一个平台上看起来不错,但在大多数其他平台或屏幕分辨率上看起来很糟糕,而且更新和维护非常困难。相反,您需要研究和学习布局管理器,然后嵌套 JPanel,每个 JPanel 使用自己的布局管理器来创建在所有操作系统上看起来都不错的令人愉悦且复杂的 GUI。您当前的代码建议您使用包含 2 列的 GridLayout。 - Google 然后研究 Java Swing 教程,因为所有这些信息以及更多信息都可以轻松找到。
关于java - 如果在 JFrame 中选中 JCheckedBox,如何获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23581759/