私は JSpinner (分/秒のタイマーを含む) を、マウスのことは気にしないが、すべてのキーストロークで慣れ親しんだことを正確に実行したい、自分のやり方で設定する人々のために機能させようとしています。ほぼ思いどおりに動作しますが、最後の 1 マイルが最も困難です。
これが実際に意味することは、ユーザーがテキスト フィールドの 1 つから矢印キーを押した後の外観と動作とまったく同じように、テキスト フィールドの 1 つがフォーカスを取得したときに、スピナーの外観と動作を行う必要があるということです。
スピナーは次のように作成されます。
this.countdown = new JSpinner(this.model);
this.editor = new JSpinner.DateEditor(countdown, "m:ss");
JFormattedTextField textField = editor.getTextField();
ステップ 1. スピナーが表示されると、次のようになります: ('|' はキャレットを示し、太字は選択を示します)
|1:00
(何も選択されていません)
step 2. ここから↑を押すとこんな感じ。
2 |:00
(2分フィールドが選択されています)
ステップ 3. ここから右矢印を押すと、次のようになります。
2:|00
(何も選択されていない)
ステップ 4. ここから上矢印を押すと、
2:01 | _
(01 in seconds フィールドが選択されています)
手順 2 と 4 のように、これらすべてのケースで機能するようにしたいと思います。サブフィールドの 1 つがフォーカスされたら、それを選択する必要があります。
これを実現する方法はありますか?