JTable의 전체 행 선택을 제한하는 쉬운 방법이 있습니까? 나는 사용자가 shift와 ctrl을 사용하여 최대 X 행을 선택할 수있게하고 싶다. 그가 한 행을 다시 클릭하면 모든 선택이 취소됩니다. 현재 동작 방식을 정렬하지만 선택한 행의 총 크기는 제한합니다.JTable의 행 선택 제한
여기 현재 구현 중이며 그래픽으로 선택 영역을 제한하는 방법에 대한 설명이 없습니다. 귀하의 경우
.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int row = m_table.getSelectedRow();
int col = m_table.getSelectedColumn();
}
});
를 들어
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 조치 만이 아닙니다. 따라서 범위
예, 일정에 따라 선택 행을 셀 수 있습니다. –