2017-01-18 13 views
1

FocusSelectionの関係について、javafx.scene.control.TreeTableViewの関係を明確にする必要があります。私のコードでJavaFX/TreeTableView:選択とフォーカスの関係

私が定義されています:

ttvMainTree.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); 

仮定1:私はフォーカスがあるアイテムは常に左クリックと最後の項目であることを、仮定したが。また、私は左クリックが常に選択を動かすと仮定していました。したがって、SelectionMode.SINGLEでは、フォーカスされたアイテムと選択されたアイテムは常に同じです。

これはすべての状況の90%で正しいと思われました。

enter image description here

親切確認:

  • をアイテム青い背景が青色と選択されたアイテム
  • アイテムであるといくつかのランダムな自分のコードは、そのような画像を生成左-clickesとにかく後境界線はフォーカスされたアイテムです

ここでは、フォーカスされたアイテムは左クリックで変更できます。選択したアイテムはiではないようです左クリックしないでください。

SSCCEをお送りいただきありがとうございます。現時点では、コードを短くしてこの動作を再現する方法はわかりません。

そのため一般的な質問:

  • 仮定1の何が問題になっているのですか?私の愚見で

答えて

1

、私はあなたが言ったように、あなたがNodeを選択したとき、それは、むしろこの1つのリクエスト焦点関係あり、両者の行動に差があるとは思いません。 フォーカスが「focusTraversable」で制御することができる。

focusTraversable:このノードがフォーカストラバーサルサイクルの一部であるかどうかを指定します。このプロパティがtrueの場合、通常のフォーカストラバーサルキーを使用して、このノードおよびこのノードからフォーカスを移動できます。あなたのケースでは

私はあなたの子と親の両方Child 2あるTreeTableViewを選択しているので、多分それはだと思います!

0

私のアプリケーションの奇妙な動作の理由が見つかりました: 選択リスナーがデータモデルの更新を引き起こしました。基本的には、子要素を含むリストは削除され、同じデータで再度設定されました。これは選択モデルの混乱を引き起こしました。

関連する問題