【问题标题】:How can I remove a column from a JTable with dragging?如何通过拖动从 JTable 中删除列?
【发布时间】:2009-02-09 15:28:50
【问题描述】:

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

默认的拖放操作是不可能的,因为此功能与目标位置无关。它仅取决于拖动源。

【问题讨论】:

  • 对不起,我有时间测试它。我会尽快做的。

标签: java swing drag-and-drop jtable


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 2014-08-28
    相关资源
    最近更新 更多