首页  :: 新随笔  :: 管理

javafx 监听选择变化(TabPane)

Posted on 2017-03-13 18:33  季枫  阅读(1623)  评论(0编辑  收藏  举报

 

editTab.getSelectionModel().selectedIndexProperty().addListener(evnt);

 

javafx2.0 监听树和表的选择变化

Swing中的组件都有对应的选择模型(SelectionModel)和一些对应的方法(形如:add/remove SelectionChangedListener)来监听组件选择的变化, 如JTree中有TreeSelectionModel和addTreeSelectionListener /removeTreeSelectionListener. 

 

JavaFx也有同样的选择模型,可以通过改模型来监听选择的变化.下面是两个监听选择变化的示例(以TreeView为例, 其它组件(List Table等)同样可以使用这些方法):

 

方法一:

tree.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {  
//tree.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener() {  
        @Override  
        public void changed(ObservableValue observable,Object oldValue, Object newValue) {  
        system.out.println("selection change");  
        }  
});  

  

方法二:

也通过监听javafx组件的FocusModel(焦点模型)来获取组件选择的变化的通知.

 

下面是一个示例:

treegetFocusModel().focusedItemProperty().addListener(new ChangeListener<TreeItem>() {  
            @Override  
            public void changed(  
                    ObservableValue<? extends TreeItem> observable,  
                    TreeItem oldValue, TreeItem newValue) {  
                    system.out.println("tree selection changed");  
            }  
        });  

  

智读 | 成都会领科技有限公司官网 | 智读App下载 | 每天听本书的博客 | |