JTable: createDefaultColumnsFromModel() : JTable « javax.swing « Java by API






JTable: createDefaultColumnsFromModel()

 
import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableColumnModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;

public class MainClass extends JFrame {

  public MainClass() {
    super("Abstract Model JTable Test");
    setSize(300, 200);
    setDefaultCloseOperation(EXIT_ON_CLOSE);

    DefaultTableModel dtm = new DefaultTableModel(new String[][] { { "1", "2", "3" },
        { "4", "5", "6" } }, new String[] { "Names", "In", "Order" });
    SortingColumnModel scm = new SortingColumnModel();
    JTable jt = new JTable(dtm, scm);
    jt.createDefaultColumnsFromModel();

    JScrollPane jsp = new JScrollPane(jt);
    getContentPane().add(jsp, BorderLayout.CENTER);
  }

  public static void main(String args[]) {
    MainClass ce = new MainClass();
    ce.setVisible(true);
  }
}

class SortingColumnModel extends DefaultTableColumnModel {

  public void addColumn(TableColumn tc) {
    super.addColumn(tc);
    int newIndex = sortedIndexOf(tc);
    if (newIndex != tc.getModelIndex()) {
      moveColumn(tc.getModelIndex(), newIndex);
    }
  }

  protected int sortedIndexOf(TableColumn tc) {
    int stop = getColumnCount();
    String name = tc.getHeaderValue().toString();

    for (int i = 0; i < stop; i++) {
      if (name.compareTo(getColumn(i).getHeaderValue().toString()) <= 0) {
        return i;
      }
    }
    return stop;
  }
}

           
         
  








Related examples in the same category

1.TableHeader.cellBorder
2.Table.scrollPaneBorder
3.JTable.AUTO_RESIZE_ALL_COLUMNS
4.JTable.AUTO_RESIZE_LAST_COLUMN
5.JTable.AUTO_RESIZE_NEXT_COLUMN
6.JTable.AUTO_RESIZE_OFF
7.JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS
8.new JTable(Object name, Object[][] data)
9.new JTable(TableModel dm)
10.new JTable(Vector rowData, Vector columnNames)
11.JTable: addColumnSelectionInterval(int index0, int index1)
12.JTable: changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
13.JTable: clearSelection()
14.JTable: configureEnclosingScrollPane() 'Headerless Table'
15.JTable: getCellSelectionEnabled()
16.JTable: getColumnCount()
17.JTable: getColumnModel()
18.JTable: getColumnSelectionAllowed()
19.JTable: getIntercellSpacing()
20.JTable: getRowCount()
21.JTable: getRowSelectionAllowed()
22.JTable: getSelectedColumns()
23.JTable: getSelectedRows()
24.JTable: getSelectionModel()
25.JTable: getTableHeader()
26.JTable: getValueAt(int row, int column)
27.JTable: isCellSelected(int row, int column)
28.JTable: moveColumn(int column, int targetColumn)
29.JTable: print()
30.JTable: print(PrintMode p, MessageFormat hFormat, MessageFormat fFormat)
31.JTable: removeColumn(TableColumn aColumn)
32.JTable: removeColumnSelectionInterval(int index0, int index1)
33.JTable: removeRowSelectionInterval(int index0, int index1)
34.JTable: selectAll()
35.JTable: setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
36.JTable: setAutoResizeMode(int m)
37.JTable: setCellSelectionEnabled(boolean cellSelectionEnabled)
38.JTable: setColumnSelectionAllowed(boolean columnSelectionAllowed)
39.JTable: setDefaultEditor(Class columnClass, TableCellEditor editor)
40.JTable: setDefaultRenderer(Class columnClass, TableCellRenderer renderer)
41.JTable: setFocusable(boolean focusable)
42.JTable: setGridColor(Color gridColor)
43.JTable: setIntercellSpacing(Dimension intercellSpacing)
44.JTable: setPreferredScrollableViewportSize(Dimension size)
45.JTable: setRowHeight(int rowHeight)
46.JTable: setRowSelectionAllowed(boolean rowSelectionAllowed)
47.JTable: setRowSelectionInterval(int index0, int index1)
48.JTable: setRowSorter(RowSorter arg0)
49.JTable: setSelectionMode(int m)
50.JTable: setShowGrid(boolean showGrid)
51.JTable: setShowHorizontalLines(boolean showHorizontalLines)
52.JTable: setTableHeader(JTableHeader tableHeader)
53.JTable: setShowVerticalLines(boolean showVerticalLines)
54.JTable: setValueAt(Object aValue, int row, int column)