我注意到,動作事件仍然會我集團JRadioButtonMenuItem
內被觸發,即使指定的條件語句:有動作事件調用時未選擇單選按鈕
if(!button.isSelected())
//Do stuff
defaultTheme = new JRadioButtonMenuItem("Default theme");
defaultTheme.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(!defaultTheme.isSelected())
System.out.println("temp");
}
});
我在我的設置菜單中有多個主題選項,但是如果說(說默認)已被選中,我不想執行任何冗餘代碼,如果默認菜單已經被選擇並且用戶點擊已經選擇的單選按鈕。
這是一個有點模糊,但你能不能只使用'if-else'語句? – MadProgrammer 2014-12-07 21:19:43
@MadProgrammer - 我試過......甚至在不否定它的情況下嘗試了條件,並且打印出「temp」,而不管該按鈕是否被選中,哪個是奇怪的。 – Juxhin 2014-12-07 21:21:09
考慮提供一個[runnable示例](https://stackoverflow.com/help/mcve),它演示你的問題。這會減少混淆和更好的響應 – MadProgrammer 2014-12-07 23:07:44