2011-09-16 13 views

答えて

6

あなただけgetTableHeader()メソッドを呼び出す必要があります。次にクラスJTableHeaderのオブジェクトでsetFont(/*font*/)メソッドを使用して新しいフォントを設定します。その後、私は両方のオプション

1)JTableのmyTable.setFont(new Font("Arial", Font.PLAIN, 10))

2のフォントを設定する投稿あなたの質問から

table.getTableHeader().setFont(new Font("Arial" , Font.BOLD, 15)); 
1

ないように注意してくださいは、)同じに保つためにTABLEHEADER

final TableCellRenderer tcrOs = table.getTableHeader().getDefaultRenderer(); 
    table.getTableHeader().setDefaultRenderer(new TableCellRenderer() { 

     @Override 
     public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { 
      JLabel lbl = (JLabel) tcrOs.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); 
      lbl.setBorder(BorderFactory.createCompoundBorder(lbl.getBorder(), BorderFactory.createEmptyBorder(0, 5, 0, 0))); 
      lbl.setHorizontalAlignment(SwingConstants.LEFT); 
      if (isSelected) { 
       lbl.setForeground(Color.red); 
       lbl.setFont(new Font("Arial", Font.BOLD, 12)); 
      } else { 
       lbl.setForeground(Color.darkGray); 
       lbl.setFont(new Font("Arial", Font.PLAIN, 10)); 
      } 
      return lbl; 
     } 
    }); 
6

のフォントを設定しましたフォントファミリを使用して、使用できるサイズを変更してください:

JTableHeader header = table.getTableHeader(); 
header.setFont(header.getFont().deriveFont(16)); 
+0

ここにバグがあります。 deriveFont(int)メソッドはderiveFont(float)とは異なるメソッドです。パラメータとして16fを渡す必要があります。 – Michael

関連する問題