4

ユーザーが Enter キーを押したときにフォーカスを別の要素に移動する必要があるため、次の方法でほとんどの要素に KeyStroke を登録することに成功しました。

 this.getInputMap( ).put( KeyStroke.getKeyStroke( '\n' ), "transferFokus" );

  this.getActionMap( ).put( "transferFokus", transferFokusa );

内部で Enter キーを消費すると思われる JXDatePicker を拡張するクラスを除いて、すべて正常に動作します。私に何ができる?

TAB キーの代わりに Enter でフォーム内を移動する古い DOS アプリケーションで作業しているため、GUI インターフェイスを使用する人々を容易にすることが重要です。

4

2 に答える 2

3

javadocからは、JXDatePickerが日付文字列の実際の編集コンポーネントにJFormattedTextFieldを使用しているように見えます。JXDatePicker.getEditor()はテキストフィールドを返すので、テキストフィールドでgetInputMap()とgetActionMap()を呼び出してみてください。

于 2009-05-04T11:39:06.320 に答える
1

を に追加するjava.awt.event.KeyEventにはJXDatePicker、エディタを取得してイベントを追加する必要があります。例えば:

jXDatePicker1.getEditor().addKeyListener(new java.awt.event.KeyAdapter() {
    public void keyPressed(java.awt.event.keyEvent evt) {
        // Your functionality here...
    }
});
于 2020-10-26T21:08:21.400 に答える