Mega Code Archive

 
Categories / Java Tutorial / Swing
 

Listening to JTable Events with a TableColumnModelListener

The listener will be notified of any addition, removal, movement, or selection of columns, or changing of column margins. public interface TableColumnModelListener extends EventListener {   public void columnAdded(TableColumnModelEvent e);   public void columnMarginChanged(ChangeEvent e);   public void columnMoved(TableColumnModelEvent e);   public void columnRemoved(TableColumnModelEvent e);   public void columnSelectionChanged(ListSelectionEvent e); } 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("Selected");   } }; 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);   } }