| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > как пользоваться bind для пропертей Swing comp.? |
| Автор: Sleepy_PIP 20.8.2010, 13:34 |
| Если у кого есть - дайте живой пример как использовать bind для компонент Swing в NetBeans. Конкретнее - что и как надо сделать для того чтоб свойство text у jTextField можно было синхронизовать с какой-то скажем переменной другого класса с исвользованием имеющихся у NetBeans возможностей. Пока пытаюсь как рассказано в http://unr303.blogspot.com/2009/01/backupsplitter-beans-binding-and-swing.html но ничего не получатся - вообще get/set-теры даже не вызываются .... Или хоть к толковой статъе сошлите, то что нашел - либо к другому компоненту биндится либо к entity .... а надо просто к переменной друго класса ... никак не разберусь как механизм должен работать. Спасибо! |
| Автор: Sleepy_PIP 20.8.2010, 14:42 |
| извините. спасибо. кажется начал понимать. спасиюо. извините. |
| Автор: jk1 20.8.2010, 18:09 | ||
Тогда поделитесь с коллегами рецептом |
| Автор: Sleepy_PIP 20.8.2010, 18:32 | ||||||||
хм. не той квалификации я . но все что раскопал: делаем класс
строим оконо
что указано в комментариях генерит сам нетбинс если мы строим окно с кодогенерацией а не сериализацией. этот участок кода соответствует следующим установкам через интерфейс дезигнера: ![]() вторая закладка: ![]() и все нормально работает. тоесть TestData.var1 вполне себе меняется при вводе в текстовое поле на лету. Только одно НО! - не смотря на все вариации установок сделать так что-б содержимое JTextField.text менялось в зависимости от того что возвращает getVar1 мне не удалось. точнее JTextField.text меняет свое содержимое при первом вызове getVar1 , но не смотря на исправные вызовы getVar1 при последующей работе (при каждом изменении text в процессе ввода данных с клавиатуры при org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE) содержимое JTextField.text остается ровно то что вводится с клавиатуры а не то что возвращает getVar1 (еще раз - вариации полем Update mode НЕ помогают в данном случае, хотя этот параметр корректно отрабатывается). ну конечно я как-бы сказал бы что наверное нашел один из вариантов - но по нему ясна общая картинка и можно дальше уже усложнаять ... такие дела. мне пока достаточно для моих целей. пойду изучать как запретить ввод не цифр в JTextField .... (блин, ну не могли сразу формат позволить задавать, да? :( ... а отдельных форматных полей ввода нет конечно-ж :( ) .... Добавлено через 1 минуту и 45 секунд извините. return var1+"!!"; в первом классе (TestData) читать конечно как var1 |
| Автор: dorogoyIV 21.8.2010, 00:39 |
вот нахалы!!! могли бы и прогу эту за тебя написать |
| Автор: Sleepy_PIP 21.8.2010, 06:13 |
| судя по работе JMenu и форматному текстовому полю - эти "нахалы" тааакого понапишут , что уж лучше я сам интересно а есть ли альтернативы swing-у? ... че-то пока не нахожу ... :(. |
| Автор: jk1 21.8.2010, 13:26 | ||||||||
Есть, посмотрите в сторону JavaFX и SWT.
Не путайте возможности GUI-построителя Matisse из NetBeans и возможности Swing. Я уже не говорю о том, что вы пытались добиться функционала кнопки (событие при нажатии) от компонента "Меню". Мне такое требование кажется немного странным. Да и пользователю будет откровенно непривычно работать с кнопками на строке меню. Не стоит ругать лопату за то, что она плохо забивает гвозди.
вот собственно запрет ввода не цифр, не вижу повода ругаться на API Ну, и наконец прошу Вас соблюдать правила форума: Один вопрос - одна тема. |