有没有一种简单的方法来限制 JTable 中行的总选择?我的意思是我想让用户使用 shift 和 ctrl 来选择最多 X 行。如果他再次单击一行,它将取消所有选择。排序它当前的行为方式,但同时限制所选行的总数。
这是我当前的实现,我对如何以图形方式限制选择一无所知。
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;
}