シナリオ: JavaFx で 2 つの列を持つテーブル ビューを作成しました。テーブルにいくつかのサンプル データを入力しました。ここで、テーブルのセルを編集する必要があります。そのために、TableCell クラスをオーバーライドする新しいクラス (ComboTableCell) を作成しました。このクラスは、マウス クリックを使用してテーブルをトラバースする場合に完全に機能する、編集可能なコンボ ボックスのセル ファクトリを定義します。ただし、キーボード タブを使用してトラバースすると、問題が発生します。
問題: タブを使用して最初のセルを選択すると、コンボ ボックスとそのエディターにフォーカスが移ります。したがって、ユーザーはセルの編集を直接開始できます。
問題は、最初のセルの編集が完了したら、TAB ボタンを使用して次のセルに移動することですが、次のセルのコンボ ボックスにフォーカスがないため、ユーザーは次のように直接入力を開始できません。最初のセルの場合。テーブルでもセルがフォーカスされません。
以下のコードを使用して、タブを押したときにフォーカスをコンボボックスに戻そうとしました
Platform.runLater(new Runnable() {
@Override
public void run() {
comboBox.requestFocus();
//I have also tried with comboBox.getEditor().requestFocus(); but still the issue persists
comboBox.getEditor().selectAll();
}
});
Plsはこの問題で私を助けてくれます.