Mega Code Archive

 
Categories / Java / Swing JFC
 

Table ColumnModel and TableColumnModelListener

/* Definitive Guide to Swing for Java 2, Second Edition By John Zukowski      ISBN: 1-893115-78-X Publisher: APress */ import java.awt.BorderLayout; import javax.swing.JFrame; 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[]) {     Object rows[][] = { { "one", "ichi - \u4E00" },         { "two", "ni - \u4E8C" }, { "three", "san - \u4E09" },         { "four", "shi - \u56DB" }, { "five", "go - \u4E94" },         { "six", "roku - \u516D" }, { "seven", "shichi - \u4E03" },         { "eight", "hachi - \u516B" }, { "nine", "kyu - \u4E5D" },         { "ten", "ju - \u5341" } };     Object headers[] = { "English", "Japanese" };     JFrame frame = new JFrame("Scrollless Table");     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);     frame.getContentPane().add(table, BorderLayout.CENTER);     frame.setSize(300, 150);     frame.setVisible(true);   } }