.getText()を呼び出したときに、テキストフィールド(JTextField、JFormattedTextField)が文字列ではなくdoubleまたはintを返すようにする方法を探しています。これを行うための最良の方法は何ですか(可能であれば)?
ありがとう!
badPanda:D
.getText()を呼び出したときに、テキストフィールド(JTextField、JFormattedTextField)が文字列ではなくdoubleまたはintを返すようにする方法を探しています。これを行うための最良の方法は何ですか(可能であれば)?
ありがとう!
badPanda:D
InputVerifierを登録getValue
し、からメソッドを呼び出しますJFormattedTextField
public class FormattedTextFieldVerifier extends InputVerifier {
public boolean verify(JComponent input) {
if (input instanceof JFormattedTextField) {
JFormattedTextField ftf = (JFormattedTextField)input;
AbstractFormatter formatter = ftf.getFormatter();
if (formatter != null) {
String text = ftf.getText();
try {
formatter.stringToValue(text);
return true;
} catch (ParseException pe) {
return false;
}
}
}
return true;
}
public boolean shouldYieldFocus(JComponent input) {
return verify(input);
}
}
テキストボックスコールバックの入力を確認し、ボックスを赤にするか、近くにアラートメッセージを作成します。テキストボックスの文字列から数字以外の文字を削除できます。
JFormattedTextFieldを使用します。