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


Автор: antit 25.8.2008, 09:42
Пытаюсь обработать потерю фокуса компонентом JSpinner.
Код

import java.awt.event.*;
...
public class ViewForm extends JDialog {
...
    private JSpinner spinner1;
    
    public ViewForm() {
        ...
        setSize(450, 500);
        setResizable(false);
        setModal(true);

        spinner1.addFocusListener(new FocusAdapter() {
            public void focusLost(FocusEvent e) {
                  JOptionPane.showMessageDialog(null,"Test");
            }
        });

        setVisible(true);
    }
...
}


Реакций на потерю фокуса не происходит, но тот же код применительно к JTextField работает.
Заранее благодарен.

Автор: SaSho 25.8.2008, 13:18
Дело в том, что JSpinner - компонент составной, как несложно заметить... 
Если, например, требуется "слушать" потерю фокуса редактором JSpinner'а и используется дефолтный редактор, то поможет такой код:
Код

      (((JSpinner.DefaultEditor)spinner1.getEditor()).getTextField()).addFocusListener(new FocusAdapter() {
         /*
          ...
          */
      });

Автор: antit 27.8.2008, 22:00
Спасибо... Некоторые особенности Java после Delphi даются с трудом. Особенно, если ты почти не используешь ОО подход (это я в отмазку...) 

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