gpt4 book ai didi

java - CheckBoxMenuItem 和 ButtonGroup

转载 作者:太空宇宙 更新时间:2023-11-04 08:36:49 25 4
gpt4 key购买 nike

有 CheckBoxMenuItems 和 ButtonGroup。当我为当前 CheckBoxMenuItem 设置监听器时,会检查条件并在此监听器中产生错误。我已经激活了另一个CheckBoxMenuItem,这对我来说没有必要,即使我会写“return”。 问题是该方法不能抛出异常并且该类是匿名的。这是代码:

mUserMode.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {

if(currentCard == 0) {
return;
}

boolean IsEmptyFields = true, isCheckedAnswers = false;

// check if all fields is fill in ...
endOfCycle: for(Component component: panelForAddingQuesions.getComponents()) {
if(component instanceof JTextField) {
JTextField question = (JTextField)component;
if(question.getText().length() == 0) {
IsEmptyFields = false;
break endOfCycle;
}

}
}

// and if there is one correct answer in every question
// check if all fields is fill in ...
for(Entry<JTextField, ArrayList<JCheckBox>> entrySets: equivalenceOfQuestionFiledsAndItsAnswers.entrySet()) {
isCheckedAnswers = false;
for(JCheckBox checkbox: entrySets.getValue()) {
if(checkbox.isSelected()) {
isCheckedAnswers = true;
}
}

}

if(IsEmptyFields) {
JOptionPane.showMessageDialog(MainActivity.this,
"Error", "Error",
JOptionPane.ERROR_MESSAGE);
}
else if(isCheckedAnswers) {
JOptionPane.showMessageDialog(MainActivity.this,
"Error","Error",
JOptionPane.ERROR_MESSAGE);
}
else {
cardLayout.last(cardPanel);
currentCard = 0;
}

// It doesn't help
//MainActivity.this.mAdminMode.setEnabled(true);
}
});

匿名类中有方法(аctionPerformed)。我想要一个条件来取消元素的 ChechBoxItem 切换,即停止此操作。但无论如何,actionPerformed 方法完成后,会自动切换复选框,因为它会通知 View。我需要直接在方法 actionPerformed 中阻止它

最佳答案

您应该调用MainActivity.this.mAdminMode.setSelected(true);,而不是setEnabled(true)

关于java - CheckBoxMenuItem 和 ButtonGroup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6162620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com