Java-проверьте, является ли jtextfield пустым или нет
Итак, я узнал, что это популярный вопрос и уже нашел решение. Но когда я пытаюсь это не работает должным образом.
мой JTextField пуст, и кнопка не включена. Когда я пишу что-то в своем текстовом поле, кнопка не включается.
поэтому моя программа должна проверять это поле каждую секунду, пусто оно или нет. Как только кто-то пишет в текстовое поле кнопка должна быть включена.^^
loginbt = new JButton("Login");
loginbt.addActionListener(new loginHandler());
add(loginbt);
if(name.getText().equals("")) {
loginbt.setEnabled(false);
}else {
loginbt.setEnabled(true);
}
2 ответов
для этого вам нужно добавить прослушиватель изменений (a DocumentListener
который реагирует на изменение текста) для вашего JTextField
, и внутри actionPerformed()
, вам необходимо обновить loginButton
включено/выключено в зависимости от того, является ли 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);
}
}
});