JTextField: Как я могу сделать так, чтобы он идентифицировал изменения значения (прослушиватель изменений), когда пользователь сбрасывает поле и вводит новое значение? - PullRequest
0 голосов
/ 29 июня 2018

В настоящее время у меня есть JTextField, который является пустым полем, и я создал кнопку сброса рядом с ним, чтобы пользователь мог очистить значение (целое число) и получить пустое поле еще раз. Код как ниже;

    maxFrames = new JTextField();
        maxFrames.setBounds(200, 130, 40, 23);
        getContentPane().add(maxFrames);
            JLabel message5;
            message5 = new JLabel();
            message5.setText("Enter max frame number");
            message5.setBounds(40, 130, 170, 23);
            getContentPane().add(message5);

JButton addSetButton;
        addSetButton = new JButton();
        addSetButton.setText("Reset");
        addSetButton.setBounds(243, 130, 60, 23);
        getContentPane().add(addSetButton);
        addSetButton.addActionListener(new ButtonListener());


public class ButtonListener implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {

            maxFrames.setText("");

        }

    }  

Проблема, скажем, в том, что пользователь вводит значение "5" и запускает плагин. и это работает гладко. После завершения запуска пользователь нажимает «Сброс» и делает текстовое поле пустым, а затем вводит «3». Программа не идентифицирует это изменение значения и все еще принимает значение 5.

Как я могу сделать его чувствительным к изменениям, которые делает пользователь? Есть ли слушатель изменений для такого типа вещей?

Большое спасибо!

Sara

1 Ответ

0 голосов
/ 29 июня 2018

Вы можете добавить DocumentListener в JTextFiled документ

Например:

 maxFrames = new JTextField();
 maxFrames.getDocument().addDocumentListener(new DocumentListener() {
        void changedUpdate(DocumentEvent e) {
           Document doc = e.getDocument(); 
           String newValue = doc.getText(0, doc.getLength()); 
           ...
        }
        ...
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...