2014-01-14 3 views
2

Я изучаю Java, и я использую Netbeans IDE. Интерфейс Netbeans предоставляет возможность привязать свойство компонента к свойству другого компонента. Например, вы можете установить свойство «включено» Jbutton для объединения с включенным свойством другого компонента. Таким образом, когда кнопка (jButton1) становится не включена, то вы можете установить другую кнопку (jbutton2), чтобы стать не включено тоже без необходимости использоватьNet beans binding

jbutton2.setEnabled(false) 

заявление для второй кнопки. Использование

jbutton1.setEnabled(false) 

достаточно. Остальная кнопка (jbutton2), которая привязана, также отключается.

Мой первый вопрос в том, является ли обязательным использование в случаях, как указано выше? Существуют ли какие-либо возможные проблемы с использованием привязки свойств компонента?

Мой второй вопрос: может ли свойство компонента быть привязано к переменной? Например, у меня может быть 15 кнопок, которые необходимо отключить, когда логическая переменная с именем «usercanpressbuttons» имеет значение «false». Это можно сделать?

3-й вопрос: может ли такое связывание выполняться путем кодирования вместо использования интерфейса netbeans?

ответ

0

1.-Вы можете. Я сделал это. Но я бы не рекомендовал его. Легко потерять информацию о привязанных значениях, потому что вы не можете видеть их в редакторе. Если кому-то еще нужно проверить, обновить или исправить форму, есть хороший шанс, что он/она не заметит привязки. Наконец, в прошлый раз, когда я использовал его, иногда привязка просто перестала работать. Возможно, в моем коде было что-то еще, но я не смог точно определить причину.

2-да, вы можете. На самом деле это наиболее привлекательное использование привязки; вы можете связать каждый элемент управления в форме с членом переменной/object/etc. и отобразить его. Но

3-Если вы хотите, чтобы с помощью кодирования лучше использовать прослушиватель и собственный метод. Это даст вам полный контроль над событиями. Просто сделайте способ отключения кнопок, например:

public void setButtons(boolean value){ 
button.setEnabled(value); 
button1.setEnabled(value); 
button2.setEnabled(value); 
button3.setEnabled(value); 
} 

и вызвать его при настройке переменной usercanpressbuttons.

+0

Спасибо. О вопросе 3: Я понимаю, что могу это сделать, используя такие методы, как вы говорите. Но можем ли мы на самом деле программировать код Binding? Или привязка элементов управления - единственная вещь Netbeans, вне стандартной java? – geo

+1

Как концепция, она реализована в нескольких инструментах. Тот, что в netbeans известен как JSR 295. Eclipse также поддерживает его, и, конечно же, мы можем использовать привязку. Но код, созданный с помощью редактора matisse (дизайнер netbeans gui), является «небезопасным». –

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