私はTreeView<TitledPane>
を持っていて、TitledPane
の「未読」のコンテンツのみを表示したいとします。JavaFx 2.0:画面に現在表示されているツリーアイテムまたはノードを取得する
TitledPane
の内容が画面に表示されている場合は、通知するイベントがあります。
TitledPane
はexpandedProperty()
なので、折りたたまれましたが、私はTreeView上で遠く離れて表示されていないTreeItemsをフィルタリングするための何も表示されません。
私が考えた別の潜在的な方法は、visibleProperty
を使ってTitledPaneに座っているノードの可視性をチェックすることですが、それはうまくいかないようです。
private class EnhancedListener implements ChangeListener<Boolean>
{
Node parent;
EnhancedListener(Node parent)
{
this.parent = parent;
}
@Override
public void changed(ObservableValue<? extends Boolean> arg0,
Boolean arg1, Boolean arg2) {
TitledPane p = (TitledPane) parent;
System.out.println(((Label)p.getContent()).getText()+" " + arg2);
}
}
pane.visibleProperty().addListener(new EnhancedListener(pane));