我想问你一些关于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可以识别它。
有没有办法解决这个问题?我想要的是当我勾选一个复选框时,其他一个被取消选择。
提前致谢。
答案 0 :(得分:1)
在调用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);