我想问一些关于JFrame的问题,我认为我在某个地方错了,因为这种情况正在发生:

我已经在我的Window Form 2复选框(DocumentCheckBox和FilescheckBox)上放置了。这是代码

final JCheckBox DocumentCheckBox = new JCheckBox("Document");
ProduceDataDropDown.disable();
DocumentCheckBox.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {

        FilecheckBox.setSelected(false);
    }
});
DocumentCheckBox.setFont(new Font("Times New Roman", Font.PLAIN, 14));
DocumentCheckBox.setBounds(184, 131, 123, 23);
contentPane.add(DocumentCheckBox);


final JCheckBox FilecheckBox = new JCheckBox("File");
FilecheckBox.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {

        DocumentCheckBox.setSelected(false);
    }
});
FilecheckBox.setFont(new Font("Times New Roman", Font.PLAIN, 14));
FilecheckBox.setBounds(184, 157, 123, 23);
contentPane.add(FilecheckBox);


这是怎么了.....第二个有效,但第一个找不到FilecheckBox-它说该类不存在。

简而言之,由于FilecheckBox低于DocumentCheckBox,因此无法识别它。

另一方面,DocumentCheckBox在第二部分可以识别,因为它位于上方,而eclipse可以识别它。

有没有什么办法解决这一问题 ???我想要的是,当我勾选一个复选框时,另一个未选中。

提前致谢。

最佳答案

在调用FilecheckBox.setSelected(false);之后构造FileCheckBox。
与DocumentCheckBox同时构造它,然后它将能够找到它。

final JCheckBox DocumentCheckBox = new JCheckBox("Document");
final JCheckBox FilecheckBox = new JCheckBox("File");
ProduceDataDropDown.disable();
DocumentCheckBox.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {

        FilecheckBox.setSelected(false);
    }
});
DocumentCheckBox.setFont(new Font("Times New Roman", Font.PLAIN, 14));
DocumentCheckBox.setBounds(184, 131, 123, 23);
contentPane.add(DocumentCheckBox);


FilecheckBox.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {

        DocumentCheckBox.setSelected(false);
    }
});
FilecheckBox.setFont(new Font("Times New Roman", Font.PLAIN, 14));
FilecheckBox.setBounds(184, 157, 123, 23);
contentPane.add(FilecheckBox);

关于java - JFrame复选框交互,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23827474/

10-08 23:47