私の要件は、ユーザーが JTextField に名前を入力して Enter キーを押したときに、カーソルが Address である次のテキスト領域に移動することです。
コンポーネントが通常のタブ順序で互いに続くと仮定すると、一般的なコードを記述できます。
Action enterAction = new AbstractAction()
{
@Override
public void actionPerformed(ActionEvent e)
{
KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
manager.getFocusOwner().transferFocus();
}
}
...
textField.addActionListener( enterAction );
現在、タブキーを押すことで、あるテキストフィールドから別のテキストフィールドに移動できます(デフォルトだと思います)。これを禁止してENTERキーだけでカーソルを移動させたい。
なぜこれを禁止したいのですか?あなたが言うように、タブはデフォルトであるため、ほとんどのユーザーはこのアプローチに精通しています。UI を作り直して、ユーザーに選択肢を与えないでください。