[英]How to perform multiple cell selection in a jtable with mouse click
我有一个简单的JTable但是如何添加cellselection以便当用户用鼠标单击时,单元格被选中。 当用户选择任何其他行中的任何其他单元格时,也会选择该单元格。 如果用户单击已选择的单元格,则该单元格将被取消选中。
任何提示将不胜感激,谢谢。
Souciance
当用户选择任何其他行中的任何其他单元格时,选择该选定的单元格。
这对于非连续的单元格选择是不可能的 ,因为ListSelectionMode
只是二维的,
可能是可能的(从未尝试过)使用custom Renderer
和MouseListener
,但随后必须添加/克隆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.