私は現在 Java と Swing を学んでおり、教育目的で簡単なプログラムを開発しようとしています。
そこで質問です。
フレームにデフォルトのテキストを含むグリッドレイアウトとフィールドがあります
accNumberField = new JTextField("0", 10);
accNumberField.addFocusListener(new FocusListener() {
int focusCounter = 0;
@Override
public void focusGained(FocusEvent arg0) {
// TODO Auto-generated method stub
if (focusCounter > 0)
accNumberField.setText("");
focusCounter++;
}
私が望むのは、ユーザーが初めてフィールドをクリックすると、デフォルトのテキストが消えることです。そこで、フォーカス リスナーを追加し、accNumberField.setText(""); を使用しました。in focusGained メソッド。
しかし、問題は、私のフレームのデフォルトの最初のフィールドが、フレームの作成時にフォーカスを得ることです。そして、デフォルトのテキストは最初から消えています。ご覧のとおりカウンターを使用しました。しかし、それは私が望んでいたことではありません。
作成時にフィールドがフォーカスされないようにし、ユーザーがいずれかをクリックしたときにすべてのフィールドがフォーカスされるようにしたいと考えています。
スペルが間違っていたらごめんなさい。英語は私の母国語ではありません。