jTextField
の場合はInputVerifier
があり、ユーザーからの入力が整数かどうかを確認することができます。そうでない場合、私はそれを最後の良い値に戻したいと思います。どうすればいいですか?ここで私はこれまで持っているコードです:jTextFieldを良好な値に戻す
class IntegerVerifier extends InputVerifier {
public boolean verify(JComponent input) {
JTextField text = (JTextField)input;
String old = text.getText();
try {
Integer.parseInt(text.getText().trim());
} catch (NumberFormatException e) {
// this does not work b/c input is not a TextField
input.setText(old);
}
return true;
}
}
EDIT:以下は私が解決策として使用して終了するものです。私は実際にこれを最初に試しましたが、動作していないようです。私は、エラーがテストにあったことを発見しました。私はguiを開始した直後にテキストフィールドを無効な値に変更しようとしましたが、フィールドを空白にします。しかし、テキストフィールドは、GUIが始まるとすぐにフォーカスを持っていたので、初期値はnullだと思います。その後の変更は期待どおりに動作しました。