3
在Outlook中,如果將列標題拖出表格,我可以刪除表格列。如何在Java中使用Swing JTable執行相同的操作?如何通過拖動從JTable中刪除列?
默認拖動&拖放操作是不可能的,因爲此功能與目標位置無關。它僅取決於拖動源。
在Outlook中,如果將列標題拖出表格,我可以刪除表格列。如何在Java中使用Swing JTable執行相同的操作?如何通過拖動從JTable中刪除列?
默認拖動&拖放操作是不可能的,因爲此功能與目標位置無關。它僅取決於拖動源。
對於這個答案我用SimpleTableDemo。我只需將一個MouseListener添加到表中。這裏MouseListener:
class MyMouseListener implements MouseListener {
public void mouseClicked(MouseEvent arg0) {}
public void mouseEntered(MouseEvent arg0) {}
public void mouseExited(MouseEvent arg0) {}
public void mousePressed(MouseEvent arg0) {}
public void mouseReleased(MouseEvent m) {
JTableHeader tableHeader = (JTableHeader)m.getComponent();
JTable table = tableHeader.getTable();
if (!table.getBounds().contains(m.getPoint())) {
table.removeColumn(table.getColumnModel().getColumn(
tableHeader.columnAtPoint(m.getPoint())));
}
}
}
這是一個非常基本的方式,沒有任何異常處理或wathever。但至少它有效。
解決方案是否有效? – 2009-02-16 08:52:25