3

在 Outlook 中,如果我将列标题拖出表格,我可以删除表格列。如何在 Java 中使用 Swing JTable 做同样的事情?

无法进行默认拖放操作,因为此功能与目标位置无关。它仅取决于拖动源。

4

1 回答 1

3

对于这个答案,我使用了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())));
    }
  }
}

这是一个非常基本的方法,没有异常处理或无论如何。但至少它有效。

于 2009-02-11T15:23:56.257 回答