Mega Code Archive

 
Categories / Java Tutorial / Swing
 

TableRowSorter with column class

import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.RowSorter; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; public class TableRowSorterWithHeader extends JFrame {   public TableRowSorterWithHeader() {     setDefaultCloseOperation(EXIT_ON_CLOSE);     String[] columns = { "Item", "Price" };     Object[][] rows = { { "Potatoes", 10.98 }, { "Magazine", 7.99 },         { "Can of soup", 0.89 }, { "DVD movie", 39.99 } };     TableModel model = new DefaultTableModel(rows, columns) {       public Class getColumnClass(int column) {         if (column >= 0 && column <= getColumnCount())           return getValueAt(0, column).getClass();         else           return Object.class;       }     };     JTable table = new JTable(model);     RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);     table.setRowSorter(sorter);     getContentPane().add(new JScrollPane(table));     setSize(200, 150);     setVisible(true);   }   public static void main(String[] args) {     new TableRowSorterWithHeader();   } }