是否有簡單的方法來限制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
是的,您可以計算事件中的選擇行 –