zoukankan      html  css  js  c++  java
  • JavaFX之TableView的SelectionMode

    SelectionMode

    table默认是只能选着一行的,如果想选着多行,设置SelectionMode,此时可以对选中的多个进行监听。 

     

    [java] view plain copy
     
    1. ListChangeListener<Person> indicesListener = new   ListChangeListener<Person>() {    
    2.            @Override public void onChanged(Change<? extends Person> c) {    
    3.                while (c.next()) {    
    4.                     
    5.                    selectionUpdated(c.getAddedSubList(), c.getRemoved());    
    6.                }    
    7.            }    
    8.        };    
    9. tableView.getSelectionModel().getSelectedItems().addListener(indicesListener);    
    10. tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);    

     



    tableView.getSelectionModel()得到的是个抽象类SelectionModel,它有二个子类MultipleSelectionModel, SingleSelectionModel。

    getSelectedIndex()   
    getSelectedItem()   
    selectedIndexProperty()   
    selectedItemProperty()   
    selectFirst()   
    selectLast()   
    clearSelection()   
    clearSelection(int index) 
    selectIndices(int index, int... indices)   
    selectRange(int start, int end)   
    select(int index)   
    select(T obj)   
    setSelectionMode(SelectionMode.MULTIPLE);  


    MultipleSelectionModel则提供多选功能,并且提供多选的一些方法。 

    selectAboveCell()   
    selectBelowCell()  
    selectLeftCell()   
    selectRightCell()    
    setCellSelectionEnabled(boolean value)   
    select(int row, TableColumn<S,?> column)   



    选择变换监听

    [java] view plain copy
     
    1. tableview.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {    
    2. //tableview.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener() {    
    3.         @Override    
    4.         public void changed(ObservableValue observable,Object oldValue, Object newValue) {    
    5.         system.out.println("selection change");    
    6.         }    
    7. });    


  • 相关阅读:
    Cat- Linux必学的60个命令
    Cmp- Linux必学的60个命令
    Diff- Linux必学的60个命令
    ls- Linux必学的60个命令
    mv- Linux必学的60个命令
    Find- Linux必学的60个命令
    libvirt
    PHP 设计模式 笔记与总结(2)开发 PSR-0 的基础框架
    Java实现 LeetCode 147 对链表进行插入排序
    Java实现 LeetCode 146 LRU缓存机制
  • 原文地址:https://www.cnblogs.com/maokun/p/6710829.html
Copyright © 2011-2022 走看看