2012-11-14 96 views
1

我想問如何更改表中列名的樣式(字體,背景顏色)。我使用的JTable,JFrame的,Java的更改Jtable中列名的樣式(字體,字體大小,背景色)Jframe

table_test.setModel(new javax.swing.table.DefaultTableModel(
     new Object [][] { 
      {null, null, null, null}, 
      {null, null, null, null}, 
      {null, null, null, null}, 
      {null, null, null, null}, 
      {null, null, null, null}, 
      {null, null, null, null}, 
      {null, null, null, null} 
     }, 
     new String [] { 
      "NO", "CODE", "ADDRESS", "CLASS" 
     } 
    ) { 
     boolean[] canEdit = new boolean [] { 
      false, false, false, false 
     }; 

     public boolean isCellEditable(int rowIndex, int columnIndex) { 
      return canEdit [columnIndex]; 
     } 
    }); 
    table_test.setRowHeight(30); 
    table_test.setSelectionMode(0); 

    jScrollPane1.setViewportView(table_test); 
    table_test.getColumnModel().getColumn(0).setMinWidth(55); 
    table_test.getColumnModel().getColumn(0).setMaxWidth(55); 
    table_test.getColumnModel().getColumn(1).setMinWidth(120); 
    table_test.getColumnModel().getColumn(1).setMaxWidth(120); 
    table_test.getColumnModel().getColumn(2).setMinWidth(280); 
    table_test.getColumnModel().getColumn(2).setMaxWidth(280); 
    table_test.getColumnModel().getColumn(3).setMinWidth(63); 
    table_test.getColumnModel().getColumn(3).setMaxWidth(63); 

這是圖像: enter image description here

回答

2

您可以設置它就像使用表頭設置字體,

table.getTableHeader().setFont(...); 

例子:

table.getTableHeader().setFont(new Font("Times New Roman", Font.BOLD, 12)); 
+1

還可以考慮更改UI默認值,如[建議](http://stackoverflow.com/a/6222720/) 230513)。 – trashgod