1
有CheckBoxMenuItems和ButtonGroup。當我設置當前CheckBoxMenuItem的偵聽器時,檢查條件並在此偵聽器中產生錯誤。我有活動的另一個CheckBoxMenuItem,這對我沒有必要,即使我會寫「返回」。 問題是該方法不能拋出異常,並且類是匿名的。 下面是代碼:CheckBoxMenuItem和ButtonGroup
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,即停止這個操作。但是,無論如何,方法PctionPerformed完成後,將會自動切換複選框,因爲它將被通知View。我需要在方法actionPerformed中直接阻止它
你不需要'setSelected(true)'? – MByD 2011-05-28 15:40:16
是的,沒錯。謝謝。 – user565447 2011-05-28 17:42:41
沒問題。請編輯標題並添加[解決]。 – MByD 2011-05-28 17:45:50