2017-05-31 1 views
-1

私はfamilyTreeプロジェクトをダウンロードしましたが、特定のファミリーメンバーを検索する機能はありません!ツリービューでtreeItemを選択するには、そのTreeItemのConditionをJavafxで確認した後

私は検索ボタンを追加しました。ハンドラメソッドのセクションでは、指定したsocialIDを持つメンバーを検索し、それを選択するコードが必要です(サイトにスクロールして青色にします選択された))。しかし、私はプログラムでtreeItemを選択し、それを見えるようにして選択する方法を知らないのですか?

マイコード:

@FXML 
private void btnSearch_click(ActionEvent event){ 


    for(TreeItem<FamilyMember> treeItem:root.getChildren()){ 

       if(treeItem.getValue().getNationality().toString()=="22"){ 
       // treeView.setSelectionModel(item); 
       treeView.getSelectionModel().select(treeItem); 
        //it still doesnt select the item with nationality=="22" 
       break; 
       } 

    } 
} 
+0

を読む必要が

  • 、あなたは答えにあなたの質問を変更しないでください正しい –

  • +0

    としてそれをマークする必要があります。将来の読者のために追加したい詳細がある場合は、回答の投稿を追加してください。 – halfer

    答えて

    0

    あなたは

    treeView.getSelectionModel().select(item); 
    

    で項目を選択することができますし、まだスクロールする必要があります(私はそれが自動的にそれまでスクロールかもしれない選択だと思う)、

    をすれば
    treeView.scrollTo(treeView.getRow(item)); 
    

    メモの数:

    1. 私はforループを理解していません。なぜあなたはしていますか

      TreeItem<FamilyMember> item = root.getChildren().get(i); 
      

      iはなぜ作成していますか?ループ構文で既に定義した変数treeItemの何が問題になっていますか?これは必ずしも正確にitemと同じではありませんか?あなたは答えが働いた場合How do I compare strings in Java?

    関連する問題