それぞれに ImageIcon を持つ 2 つの JRadioButton があります。私が使用している ImageIcons のために、1 つのボタンが選択され、もう 1 つのボタンが選択されていないという外観を与える必要があります。これを行うには、ImageIcon を無効な外観に自動的に変更する他のボタンを無効にしようとしています。
問題は、無効になっている 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);
}
}
}
前もって感謝します。