2014-01-06 2 views
0

Итак, у меня есть три кнопки, скажем, 1, 2 и 3. Я хочу, когда я нажимаю кнопку1, кнопку2 и кнопку3, чтобы отменить выбор. После этого, когда я нажимаю кнопку2, я хочу, чтобы кнопки 1 и 3 не были отменены. То же самое для button3.JToggleButton.One selected, others deselected

В принципе, когда я нажимаю одну кнопку, я хочу, чтобы остальные 2 были отменены. Пока у меня есть следующий код, но я где-то застрял, и я не вижу ошибки.

if(smallbuttonpage1.isSelected()){ 
    normalbuttonpage1.setSelected(false); 
    bigbuttonpage1.setSelected(false); 
    textpage1.setFont(new Font("ComicSansMS", Font.PLAIN, 8)); 
} 
if(normalbuttonpage1.isSelected()){ 
    smallbuttonpage1.setSelected(false); 
    bigbuttonpage1.setSelected(false); 
    textpage1.setFont(new Font("ComicSansMS", Font.PLAIN, 12)); 
} 
if(bigbuttonpage1.isSelected()){ 
    smallbuttonpage1.setSelected(false); 
    normalbuttonpage1.setSelected(false); 
    textpage1.setFont(new Font("ComicSansMS", Font.PLAIN, 20)); 
} 
+3

вы можете описать, что значит быть «застрял» означает, что именно идет не так? Я бы также рекомендовал JRadioButton в группе кнопок для этого. –

+0

Застрял как при нажатии кнопки2, когда выбрана кнопка1, кнопка 1 не выбрана (false). – MrSilent

ответ

0

Я понял это в конце. Я использовал hasFocus() вместо isSelected(), и он работает отлично, надеюсь, что это поможет кому угодно в будущем.

+0

Нет, не надо. Это ужасная идея. У вас нет средств гарантировать, что фокус останется с кнопкой, также у вас не будет возможности проверить результат в будущем ... – MadProgrammer

 Смежные вопросы

  • Нет связанных вопросов^_^