在 Outlook 中,如果将列标题拖出表格,我可以删除表格列。我如何在 Java 中使用 Swing 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())));
}
}
}
这是一个非常基本的方法,没有任何异常处理。但至少它有效。
关于java - 如何通过拖动从 JTable 中删除列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/528618/