我有兩個JRadioButton與每個一個ImageIcon。由於我使用的ImageIcons,我需要給出一個按鈕被選中而另一個未被選中的外觀。爲此,我試圖禁用另一個按鈕,該按鈕會自動將ImageIcon更改爲禁用外觀。如何啓用禁用的JRadioButton
問題是,當我點擊禁用的JRadioButton時,沒有任何反應,甚至沒有發現JRadioButton上的ActionListener被調用。
有沒有辦法通過直接點擊啓用禁用的JRadioButton?一旦它被禁用,它的ActionListener不再被調用,所以我不能通過點擊它來啓用它。
基本上我試圖給出的外觀,當一個被選中,另一個沒有被選中,使用ImageIcons。
//Below part of my code how I initialize the buttons
ButtonGroup codeSearchGroup = new ButtonGroup();
searchAllDocs = new JRadioButton(new ImageIcon(img1));
searchCurrDoc = new JRadioButton(new ImageIcon(img2));
RadioListener myListener = new RadioListener();
searchAllDocs.addActionListener(myListener);
searchCurrDoc.addActionListener(myListener);
codeSearchGroup.add(searchAllDocs);
codeSearchGroup.add(searchCurrDoc);
//Below listener class for buttons
class RadioListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if(e.getSource() == searchAllDocs){
searchAllDocs.setEnabled(true);
System.out.println("Search All documents pressed. Disabling current button...");
searchCurrDoc.setEnabled(false);
}
else{
searchCurrDoc.setEnabled(true);
System.out.println("Search Current document pressed. Disabling all button...");
searchAllDocs.setEnabled(false);
}
}
}
在此先感謝。