繁体   English   中英

如何通过鼠标单击在jtable中执行多个单元格选择

[英]How to perform multiple cell selection in a jtable with mouse click

我有一个简单的JTable但是如何添加cellselection以便当用户用鼠标单击时,单元格被选中。 当用户选择任何其他行中的任何其他单元格时,也会选择该单元格。 如果用户单击已选择的单元格,则该单元格将被取消选中。

任何提示将不胜感激,谢谢。

Souciance

当用户选择任何其他行中的任何其他单元格时,选择该选定的单元格。

  • 这对于非连续的单元格选择不可能的 ,因为ListSelectionMode只是二维的,

  • 可能是可能的(从未尝试过)使用custom RendererMouseListener ,但随后必须添加/克隆XxxTableModel并存储selected cell(s) ,模型仅包含Boolean value

对于类似这样的事情,我自己创建的是创建一个ArrayList来存储所选的单元格。然后在需要知道选择了哪些单元格时引用该数组。 然后我创建了一个自定义单元格渲染器。 在那个类中,我会检查一个单元格是否在所选单元格的ArrayList中,如果是,我会将它设置为表格单元格选择的颜色。

... public class MyTableCellRenderer extends DefaultTableCellRenderer
...

        //Defined in your class somewhere
        //Add column values to it when clicked on or selected   

        private final Color selectedColumn = Color.YELLOW;
        List<String> selectedCols = new ArrayList<String>(); 

        if (selectedCols.contains(cellValue)) {
            tableCell.setBackground(selectedColumn);
        } else {
            tableCell.setBackground(UIManager.getColor("Table.background"));
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM