Итак, я только начал читать о DocumentListeners
и некоторых других прослушивателях событий сегодня, но я не могу получить свой JButton
, чтобы вернуться к setEnabled(false)
, если любое из текстовых полей пуст. Это как-то связано с позицией каретки или есть правильный способ вернуть ее в исходное состояние setEnabled(false)
, когда любое текстовое поле пуст.Как указать состояние JButton, если документ JTextField пуст
Вот что я написал до сих пор.
public class home extends javax.swing.JPanel {
public home() {
JPasswordField currentPasswordJPasswordField;
JPasswordField newPasswordJPasswordField;
JPasswordField reTypeNewPasswordJPasswordField;
currentPasswordJPasswordField.getDocument().addDocumentListener(new textFieldListener(saveNewPasswordButton));
newPasswordJPasswordField.getDocument().addDocumentListener(new textFieldListener(saveNewPasswordButton));
reTypeNewPasswordJPasswordField.getDocument().addDocumentListener(new textFieldListener(saveNewPasswordButton));
}
public static class textFieldListener implements DocumentListener {
JButton btn;
public textFieldListener(JButton button) {
btn = button;
}
@Override
public void insertUpdate(DocumentEvent e) {
btn.setEnabled(true);
}
@Override
public void removeUpdate(DocumentEvent e) {
btn.setEnabled(true);
}
@Override
public void changedUpdate(DocumentEvent e) {
btn.setEnabled(true);
}
}
}
Когда я набираю что-то на текстовое поле, он позволяет кнопку сохранения, как ожидалось. Но когда я нажимаю backspace, чтобы очистить весь текст, кнопка сохранения не вернется кsetEnabled(false)
.
Буду признателен за любой ответ. Я только начал изучать это. Я также хочу знать, могу ли я поместить прослушиватели действий в отдельный .java-файл. Если да, то как я могу применить слушателей к моему основному классу.
Спасибо.
Для лучшей помощи рано, оставить [MCVE] или [Short, Самостоятельный, правильный пример] (http://www.sscce.org/). –
@AndrewThompson Я это сделаю. Я отредактировал свой пост как можно более краткий. Я предполагаю, что это самый короткий и самый краткий. Спасибо. – p3ace
Возможно, вы заметили, что в MCVE больше, чем в «Минимальном», больше для SSCCE, чем «Short». Это другие части, которые я предлагаю вам почтовый код для встречи. Почтовый код, который мы можем скомпилировать, запустить и * увидеть проблему. * –