-2
名前、姓、性別、身長などを尋ねるフォームを作成しています... 整合性チェックを行うためにkeyTypedアクションハンドラを追加しました。(名前のみの文字、年齢の最大2つの数字など)JTextFieldの値を実際の値に一致するように更新するにはどうすればよいですか?
チェッカーは機能しますが、フォームに表示されている値が実際の値と一致しません。たとえば、高さが '1.333'(メートル)と書かれています。 1.33のような値しか受け付けないユーザー
だから私は、これは私が
を試してきたものである私は、TextFieldに1.333を記述する場合、保存された実際の値は1.33であるformattedTextField.setText(StringUtils.substring(formattedTextField.getText(), 0, 4));
を使用したが、TextFieldの
で1.333滞在
formattedTextField = new JFormattedTextField();
formattedTextField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent arg0) {
String re1="^([+-]?\\d*\\.?\\d*)$";
System.out.println(formattedTextField.getText().matches(re1));
if(formattedTextField.getText().length() >= 1 && formattedTextField.getText().matches(re1) == true)
{
if(formattedTextField.getText().length() >= 3)
{
final BalloonTip balloonTip = new BalloonTip(
formattedTextField,
new JLabel("<html>Solo se aceptan valores de altura, como 1.66, 1.76, 1.88, etc..</html>"),
style,
BalloonTip.Orientation.LEFT_ABOVE,
BalloonTip.AttachLocation.ALIGNED,
20, 10,
false
);
TimingUtils.showTimedBalloon(balloonTip, 4500);
formattedTextField.setText(StringUtils.substring(formattedTextField.getText(), 0, 4));
}
}
}
});
contentPane.add(formattedTextField, "cell 2 9,growx,aligny center");
で新たな価値をcomprare必要39864104/how-to-add-a-button-to-two-values)、有効な[mcve]を作成して投稿してください。これはあなたのプログラム全体ではなく、私たちにとってあなたの問題を示す非常に簡単な簡単なプログラムです。 –
そして、SwingテキストコンポーネントでKeyListenerを使用することは決してありません。より良い回答が必要な場合は、再度質問を改善してください。 –