是否有简单的方法来限制JTable中行的总体选择?我的意思是我想让用户使用shift和ctrl来选择最多X行。如果他再次点击一行,则会取消所有选择。对当前行为进行排序,但限制所选行的总量。JTable中的限制行选择
这是我目前的实现,对于如何以图形方式限制选择,我有点无知。
public class RoomsListView extends AbstractViewPanel {
public RoomsListView(DefaultController controller)
{
this.controller = controller;
initUI();
}
private void initUI()
{
tableT = new JTable(RoomsModel.getInstance());
sorter = new TableRowSorter<RoomsModel>(RoomsModel.getInstance());
tableT.setRowSorter(sorter);
tableT.setPreferredScrollableViewportSize(new Dimension(CUSTOM_TABLE_WIDTH, CUSTOM_TABLE_HEIGHT));
tableT.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
rowClickedPerformed(e);
}
});
}
private void rowClickedPerformed(MouseEvent e)
{
}
public void modelPropertyChange(PropertyChangeEvent evt)
{
}
public JTable getTable()
{
return tableT;
}
private final int CUSTOM_TABLE_WIDTH = -1;
private final int CUSTOM_TABLE_HEIGHT = 150;
private JTable tableT;
private DefaultController controller;
private TableRowSorter<RoomsModel> sorter;
}
不得不调整,因为我允许选择,如第一,第三和第五,它不仅仅是一个移动动作,而是一个用于选择元素的ctrl动作。所以range
是的,您可以计算事件中的选择行 –