如果在JFrame中选中JCheckedBox,如何获取值

时间:2014-05-10 13:41:02

标签: java swing jframe jcheckbox

我是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");
        }
    });

当我尝试算术而不是打印时,它没有用......

1 个答案:

答案 0 :(得分:2)

  1. 如果要在选中或取消选中时通知,请将ActionListener或ItemListener添加到JCheckBox,然后对其进行响应。就这么简单。
  2. 至于写入JFormattedTextField部分,由于您到目前为止发布的信息有限,我们根本不知道您有什么特权。
  3. 不要使用空布局和setBounds(...)这使得非常不灵活的GUI虽然在一个平台上看起来不错但在大多数其他平台或屏幕分辨率上看起来很糟糕而且非常困难更新和维护。相反,您将需要学习和学习布局管理器,然后嵌套JPanel,每个JPanel都使用自己的布局管理器来创建在所有操作系统上看起来都很好的令人愉悦且复杂的GUI。您当前的代码表明您希望使用包含2列的GridLayout。
  4. Google然后学习Java Swing教程,因为所有这些信息都可以在那里轻松找到。