Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как пользоваться bind для пропертей Swing comp.? Как использовать bind для свойств? 
:(
    Опции темы
Sleepy_PIP
Дата 20.8.2010, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 30.6.2004
Где: Moscow

Репутация: нет
Всего: 12



Если у кого есть - дайте живой пример как использовать bind для компонент Swing в NetBeans.
Конкретнее - что и как надо сделать для того чтоб свойство text у jTextField можно было синхронизовать с какой-то скажем переменной другого класса с исвользованием имеющихся у NetBeans возможностей.
Пока пытаюсь как рассказано в тут но ничего не получатся -  вообще get/set-теры даже не вызываются ....
Или хоть к толковой статъе сошлите, то что нашел - либо к другому компоненту биндится либо к entity .... а надо просто к переменной друго класса ... никак не разберусь как механизм должен работать.
Спасибо!


--------------------
--
Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем
свободным ..."
PM MAIL ICQ   Вверх
Sleepy_PIP
Дата 20.8.2010, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 30.6.2004
Где: Moscow

Репутация: нет
Всего: 12



извините. спасибо. кажется начал понимать. спасиюо. извините.


--------------------
--
Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем
свободным ..."
PM MAIL ICQ   Вверх
jk1
Дата 20.8.2010, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 21
Всего: 75



Цитата

кажется начал понимать.


Тогда поделитесь с коллегами рецептом smile 


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Sleepy_PIP
Дата 20.8.2010, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 30.6.2004
Где: Moscow

Репутация: нет
Всего: 12



Цитата(jk1 @ 20.8.2010,  18:09)
Цитата

кажется начал понимать.


Тогда поделитесь с коллегами рецептом smile

хм. не той квалификации я . но все что раскопал:
делаем класс
Код

public class TestData
{

    public String var1;

    /**
     * Get the value of var1
     *
     * @return the value of var1
     */
    public String getVar1()
    {
        return var1+"!!";
    }

    /**
     * Set the value of var1
     *
     * @param var1 new value of var1
     */
    public void setVar1(String var1)
    {
        this.var1 = var1;
        System.out.println("var1:"+var1);
    }
....
}


строим оконо
Код

public class MainWnd extends javax.swing.JFrame
{

    TestData testdata=new TestData();

    public TestData getTestdata()
    {
        return testdata;
    }

    public void setTestdata(TestData testdata)
    {
        this.testdata = testdata;
    }

    HashMap<String,UIDriverListener> listenerMap;
    GlobalConfigData gcd=GlobalConfig.getGlobalConfigData();

    /** Creates new form MainWnd */
    public MainWnd(HashMap<String,UIDriverListener> listeners)
    {
.....
/* not modify
....
        org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${testdata.var1}"), jTextField1, org.jdesktop.beansbinding.BeanProperty.create("text"));
        binding.setSourceNullValue(null);
        binding.setSourceUnreadableValue(null);
        bindingGroup.addBinding(binding);
....
*/
}


что указано в комментариях генерит сам нетбинс если мы строим окно с кодогенерацией а не сериализацией.
этот участок кода соответствует следующим установкам через интерфейс дезигнера:
user posted image
вторая закладка:
user posted image

и все нормально работает. тоесть 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 smile. Это я уже эксперементировал далее ....



--------------------
--
Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем
свободным ..."
PM MAIL ICQ   Вверх
dorogoyIV
Дата 21.8.2010, 00:39 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



Цитата(Sleepy_PIP @  20.8.2010,  18:32 Найти цитируемый пост)
блин, ну не могли сразу формат позволить задавать, да?

вот нахалы!!! могли бы и прогу эту за тебя написать  smile 

PM MAIL   Вверх
Sleepy_PIP
Дата 21.8.2010, 06:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 30.6.2004
Где: Moscow

Репутация: нет
Всего: 12



судя по работе JMenu и форматному текстовому полю - эти "нахалы" тааакого понапишут , что уж лучше я сам smile

интересно а есть ли альтернативы swing-у? ... че-то пока не нахожу ... :(.



--------------------
--
Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем
свободным ..."
PM MAIL ICQ   Вверх
jk1
Дата 21.8.2010, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 21
Всего: 75



Цитата

интересно а есть ли альтернативы swing-у?

Есть, посмотрите в сторону JavaFX и SWT.
Цитата

судя по работе JMenu

Не путайте возможности GUI-построителя Matisse из NetBeans и возможности Swing. Я уже не говорю о том, что вы пытались добиться функционала кнопки (событие при нажатии) от компонента "Меню". Мне такое требование кажется немного странным. Да и пользователю будет откровенно непривычно работать с кнопками на строке меню. Не стоит ругать лопату за то, что она плохо забивает гвозди.
Цитата

и форматному текстовому полю

Код

 JFormattedTextField field = new JFormattedTextField(new NumberFormatter());

вот собственно запрет ввода не цифр, не вижу повода ругаться на API

Ну, и наконец прошу Вас соблюдать правила форума: Один вопрос - одна тема.

Это сообщение отредактировал(а) jk1 - 21.8.2010, 13:28


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.