2013-10-25 3 views
0

Как я уже упоминал в сообщении раньше, я переношу свою программу на Java, чтобы сделать ее доступной для пользователей Mac OS и Linux.Отмените выбор JToggleButton, если файл существует

В начале программы я хотел бы проверить, если ADB установлен в системе, используя этот код:

private void checkADBExists() 
// Checks if adb binaries exist and sets jTogglebutton1 correspondingly... 
{ 
    File adb = new File("/usr/bin/adb"); 
    if (!adb.exists()) 
    { 
     jToggleButton1.isSelected(); 
    } else { 
     jToggleButton1.isSelected()= false; 
    } 
} 

Вот моя проблема: Если файл не существует, JToggleButton не выбрано, хотя это должно быть, и я получаю ошибку, отменяя ее выбор.

Любая помощь очень ценится.

Спасибо заранее, Beats

+0

Вы можете установить значение для возвращаемого значения функции. – Obicere

+0

@ Obicere Pardon? – SimonC

+0

Вместо этого вам нужно использовать [setSelected (выбранный логин)] (http://docs.oracle.com/javase/7/docs/api/javax/swing/AbstractButton.html#setSelected%28boolean%29). – dic19

ответ

2

Многие из основных компонентов Swing, следовать простым геттер/сеттер шаблон.

То есть вы можете «получить» значение свойства и «установить» значение свойства (обратите внимание, что не все геттеры имеют соответствующий сеттер, хотя).

В случае имущества boolean конвенция должна использовать «is» вместо «get», она просто сходит с языка лучше.

Итак, в вашем случае все, что вы делаете, это получение значения, если свойство selected, а не то, что вы хотите сделать.

Вместо этого используйте jToggleButton1.setSelected(true) или jToggleButton1.setSelected(false) в зависимости от потребностей

Вы хотели бы взглянуть на How to Use Buttons, Check Boxes, and Radio Buttons еще несколько деталей

+0

Ох. Благодарю. Я не видел метод setSelected(). – SimonC

+0

@Beatsleigher, Итак, как насчет принятия ответа в этой публикации и других ваших сообщений (если вы хотите продолжать получать помощь в будущем). – camickr

1

JToggleButton().isSelected() возвращающих value не является переменным. К JToggleButton().isSelected() = false вы пытаетесь присвоить значение значению, это не имеет смысла, подобно написанию заявления 2 = 2;. используйте JToggleButton.setSelected(true), чтобы установить переключатель, выбранный, и JToggleButton.setSelected(false), чтобы снять выделение.