使用TableColumnModelListener时如何知道已调整大小的列

时间:2019-06-01 17:33:30

标签: java swing jtable

我在 JTable 上使用 TableColumnModelListener 来了解何时调整 Column 的大小。

我查看了ChangeEvent方法内的columnMarginChanged(ChangeEvent e)对象,但是我没有找到一种方法来知道已调整了哪一列的大小。

有办法吗?

2 个答案:

答案 0 :(得分:1)

  

我没有找到一种方法来知道调整了哪些列的大小。

columnMarginChanged()方法中,您可以使用:

TableColumn resizingColumn = table.getTableHeader().getResizingColumn();

答案 1 :(得分:0)

您可以add a property listener代替您感兴趣的每个TableColumn来代替TableColumnModelListener:

columnModel.getColumn(0).addPropertyChangeListener(
    new PropertyChangeListener() {
        @Override
        public void propertyChange(PropertyChangeEvent event) {
            if (event.getPropertyName().equals("width")) {
                int oldWidth = (Integer) e.getOldValue(); 
                int newWidth = (Integer) e.getNewValue(); 
                // etc.
            }
        }
    });