TableColumnModelListener 定义侦听 TableColumnModel 中更改的对象的接口。
columnAdded(TableColumnModelEvent e)
告知侦听器有一列被添加到模型中。
void columnMarginChanged(ChangeEvent e)
告知侦听器因为页边空白更改,有一列被移除。
void columnMoved(TableColumnModelEvent e)
告知侦听器有一列被重新调整位置。
void columnRemoved(TableColumnModelEvent e)
告知侦听器有一列从模型中移除。
void columnSelectionChanged(ListSelectionEvent e)
告知侦听器 TableColumnModel 的选择模型发生更改。
重写TableColumnModelListener实现对表列改变做控制
columnAdded(TableColumnModelEvent e)
告知侦听器有一列被添加到模型中。
void columnMarginChanged(ChangeEvent e)
告知侦听器因为页边空白更改,有一列被移除。
void columnMoved(TableColumnModelEvent e)
告知侦听器有一列被重新调整位置。
void columnRemoved(TableColumnModelEvent e)
告知侦听器有一列从模型中移除。
void columnSelectionChanged(ListSelectionEvent e)
告知侦听器 TableColumnModel 的选择模型发生更改。
重写TableColumnModelListener实现对表列改变做控制
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.TableColumnModelEvent;
import javax.swing.event.TableColumnModelListener;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
public class ColumnModelSample {
public static void main(String args[]) {
final Object rows[][] = { { "one", "1" }, { "two", "2" }, { "three", "3" } };
final Object headers[] = { "English", "#" };
JFrame frame = new JFrame("Scrollless Table");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTable table = new JTable(rows, headers);
TableColumnModelListener tableColumnModelListener = new TableColumnModelListener() {
public void columnAdded(TableColumnModelEvent e) {
System.out.println("Added");
}
public void columnMarginChanged(ChangeEvent e) {
System.out.println("Margin");
}
public void columnMoved(TableColumnModelEvent e) {
System.out.println("Moved");
}
public void columnRemoved(TableColumnModelEvent e) {
System.out.println("Removed");
}
public void columnSelectionChanged(ListSelectionEvent e) {
System.out.println("Selection Changed");
}
};
TableColumnModel columnModel = table.getColumnModel();
columnModel.addColumnModelListener(tableColumnModelListener);
columnModel.setColumnMargin(12);
TableColumn column = new TableColumn(1);
columnModel.addColumn(column);
JScrollPane pane = new JScrollPane(table);
frame.add(pane, BorderLayout.CENTER);
frame.setSize(300, 150);
frame.setVisible(true);
}
}