JTableHeaderをクリックしてそのColumnのセルを全選択
Total: 11144, Today: 2, Yesterday: 1
Posted by aterai at
Last-modified:
Summary
JTableHeaderをクリックしたとき、そのColumn以下にあるセルを全選択します。
Screenshot

Advertisement
Source Code Examples
JTable table = new JTable(model);
table.setCellSelectionEnabled(true);
JTableHeader header = table.getTableHeader();
header.addMouseListener(new MouseAdapter() {
@Override public void mousePressed(MouseEvent e) {
if (!check.isSelected()) {
return;
}
if (table.isEditing()) {
table.getCellEditor().stopCellEditing();
}
int col = header.columnAtPoint(e.getPoint());
table.changeSelection(0, col, false, false);
table.changeSelection(table.getRowCount() - 1, col, false, true);
}
});
View in GitHub: Java, KotlinDescription
上記のサンプルでは、JTableHeaderにMouseListenerを追加し、JTableHeader#columnAtPoint(Point)メソッドを使ってマウスでクリックされた位置にあるTableColumnを取得しています。
TableColumn全体の選択はchangeSelectionメソッドを2回使用することで実現している
Reference
- JTableに行ヘッダを追加
- 行ヘッダをクリックして行の全選択