Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Перестал срабатывать selectAll()


Автор: azz 5.4.2006, 16:32
У меня такой обработчтк событей:
Код

result.addFocusListener(new FocusAdapter()
            {
                public void focusGained(FocusEvent e) {
                    JFormattedTextField textField = (JFormattedTextField)e.getSource();
                    textField.selectAll();

                    
                }

            });
        

пока я заполнял поле с помошю setText() проблем не было. Тепер я исползую setValue() и текст не выделяется. Кто знает почему?? smile

Автор: azz 6.4.2006, 02:25
Злаключения с фокусом продолжаются. При focusLost из моего форматированного поля пытаюсь выполнить такую функцию:
Код

private void bruttoToNetto(){
        if(lcbPurchaseType.getSelectedItem().toString().equals("§ 25"))
        {
            
            txtPriceNetto.setValue(txtPriceBrutto.getValue());
        }
    }

при этом заполнение происходит, но посемуто предидущим знасением.... Думаю эти проблемы связанны.
Я так понал что сначала происходит событие а уже потом JFormattedTextField перещитывает строку в значение. Ктонить знает что делать?

П.С. Или подскажите как можно просмотреть последовательность всех событий котрие происходят с обектом.

Автор: SID_M 6.4.2006, 10:50
Цитата(azz @ 5.4.2006, 16:32 Найти цитируемый пост)
пока я заполнял поле с помошю setText() проблем не было

Ну раз проблем не было зачем было менять setText() на setValue?

Попробуй так:
Код

result.addFocusListener(new FocusAdapter()    
            {    
                public void focusGained(FocusEvent e) {    
                    JFormattedTextField textField = (JFormattedTextField)e.getSource();    
                    textField.selectAll();    
                    textField.repaint();    
                }    
            });


А следить за последовательностью можно с помощью DEBUG-a, правда в зависимости от IDE.

Автор: LSD 6.4.2006, 11:18
Цитата(azz @ 6.4.2006, 03:25 Найти цитируемый пост)
П.С. Или подскажите как можно просмотреть последовательность всех событий котрие происходят с обектом.

С JDK поставляются исходные коды все (практически всех) классов. Попробуй посмотреть в них.

Автор: azz 6.4.2006, 11:23
Не помогло. А решение так близко... Если бы была функция которая text в value переводит.

Автор: powerOn 7.4.2006, 09:55
Цитата

Если бы была функция которая text в value переводит.


А собственно value это что за тип? Может Object? Так в Object строку без проблем привести можно...

Автор: azz 8.4.2006, 01:11
Кароче частичный ответ на свой собственный вопрос у меня есть. Но к сожалению не полный.
Код

textField.commitEdit();

После этого значение начало передаваться нормалтно, но выделение при получении фокуса не работает все также... Пока отложу проблему на потом.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)