2009-02-09 2 views
3

В Outlook Я могу удалить столбец таблицы, если перетащить заголовок столбца из таблицы. Как я могу сделать то же самое на Java с Swing JTable?Как удалить столбец из JTable с помощью перетаскивания?

Перемещение по умолчанию & операция удаления невозможна, поскольку эта функция не зависит от положения цели. Это зависит только от источника перетаскивания.

+0

Является ли решение эффективным? –

+0

Извините, бутон у меня было время, чтобы проверить его. Я сделаю это в ближайшее время. – Horcrux7

ответ

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()))); 
    } 
    } 
} 

Это действительно основной способ, не является исключением обработано или wathever. Но, по крайней мере, это работает.

Смежные вопросы