Java – проверьте, не является ли JTextField пустым или нет.

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

Мой JTextField пуст, и кнопка не включена. Когда я пишу что-то в своем текстовом поле, кнопка не включается.

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

loginbt = new JButton("Login"); loginbt.addActionListener(new loginHandler()); add(loginbt); if(name.getText().equals("")) { loginbt.setEnabled(false); }else { loginbt.setEnabled(true); } 

Для этого вам нужно добавить слушателя изменений ( DocumentListener который реагирует на изменение текста) для вашего JTextField , и в actionPerformed() вам необходимо обновить loginButton до разрешенного / запрещенного в зависимости от того, JTextfield поле JTextfield пусто.

Ниже я нашел из этой темы .

 yourJTextField.getDocument().addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent e) { changed(); } public void removeUpdate(DocumentEvent e) { changed(); } public void insertUpdate(DocumentEvent e) { changed(); } public void changed() { if (yourJTextField.getText().equals("")){ loginButton.setEnabled(false); } else { loginButton.setEnabled(true); } } }); 

Следующее вернет true, если JTextField «name» не содержит текста:

name.getText().isEmpty

То, что вам нужно, называется Document Listener. См. Как написать прослушиватель документов .

Ну, код, который делает кнопку включен / отключен:

 if(name.getText().equals("")) { loginbt.setEnabled(false); }else { loginbt.setEnabled(true); } 

должен быть записан в javax.swing.event.ChangeListener и прикреплен к полю (см. здесь ). Изменение значения поля должно заставить слушателя повторно оценить состояние объекта. Чего ты ожидал?

Для проверки JTextFiled пусто или нет:

 if( (billnotf.getText().length()==0)||(billtabtf.getText().length()==0)) 

используйте следующий код:

 if(name.getText().equals("")) { loginbt.disable(); } 

Попробуй это

 if(name.getText() != null && name.getText().equals("")) { loginbt.setEnabled(false); } else { loginbt.setEnabled(true); } 
 if(name.getText().hashCode() != 0){ JOptionPane.showMessageDialog(null, "not empty"); } else{ JOptionPane.showMessageDialog(null, "empty"); } 

Попробуйте с keyListener в текстовом поле

 jTextField.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { } @Override public void keyPressed(KeyEvent e) { if (text.getText().length() >= 1) { button.setEnabled(true); } else { button.setEnabled(false); } } @Override public void keyReleased(KeyEvent e) { } }); 
  • Swing - Обновить ярлык
  • Является MVC в Swing Thread Safe
  • Несколько строк заголовка JTable
  • Остановить / отменить stream SwingWorker?
  • SwingWorker не обновляет JProgressBar без Thread.sleep () в пользовательской диалоговой панели
  • JTable Calls Custom Cell Renderer Method ... Непрерывно
  • JPanel Padding в Java
  • JPanel и компоненты меняются автоматически
  • Как установить изображение в качестве фона для фрейма в Swing GUI java?
  • Pacman открыть / закрыть анимацию
  • Ошибка «Не удалось найти главный class» при запуске jar, экспортированного Eclipse
  • Interesting Posts

    Ошибка: неожиданный символ / ввод / строка константа / числовая константа / SPECIAL в моем коде

    Почему автоматические вызовы __init__ не запускаются автоматически?

    Как безопасно хранить ключи шифрования в java?

    SwipeRefreshLayout + WebView, когда позиция прокрутки находится наверху

    Maven: включение jar не найден в публичном репозитории

    Android Studio 0.4 Дублирующие файлы, скопированные в APK META-INF / LICENSE.txt

    Существует pmin и pmax, каждый из которых принимает na.rm, почему нет psum?

    TensorFlow не найден с использованием pip

    Постоянное обнаружение ERR_NAME_RESOLUTION_FAILED

    Пропустить «Войдите в свою учетную запись Microsoft» (установка Windows 8.1)

    Как отправить одно сообщение с помощью Firebase Messaging

    Как реализовать ViewPager с различными fragmentами / макетами

    Как вернуть список пользователей, если я использую простое имя пользователя и пароль для Firebase

    Установите плагин marvel для Elasticsearch

    Сжимает ли файлы в XP замедляет работу?

    Давайте будем гением компьютера.