2011-06-01 148 views
7
String columnNames[] = {"Time","MAP","ICP","CPP"}; 
String dataValues[][]= new String [countery] 

table = new JTable(dataValues, columnNames); 

我正在一個表上工作,並在dataValues中存儲字符串值。我很想知道是否有增加字體大小的默認大小(這是我假設常規11字體)。這帶來了我的另一個問題,甚至字體顏色?如何更改JTable中字符串的字體大小?

回答

24

table.setFont(新字體( 「襯線」,Font.BOLD,20));

+0

謝謝,現在我正在嘗試增加表格單元的大小(寬度)。 b/c現在發生的是字符對於單元格來說太大了。 – razshan 2011-06-09 23:07:35

+1

table.setRowHeight(table.getRowHeight()+ gap); – razshan 2011-06-09 23:14:16

+0

@razshan :-)如果harcoded Jtables字體,那麼您必須對SetRowHeight做同樣的處理,或者從字體中獲取HEIGHT – mKorbel 2011-06-10 07:04:11

4

嘗試實現自己的Custom Renderer,那麼你就可以把每個字符串作爲JLabel和使用setFont(...)相應。

+1

無需創建自定義渲染器。 – camickr 2011-06-01 21:16:30

+3

我做了upvote mKorbels的回答。我對你的評論(我沒有投票),因爲你提供了誤導性的信息。當簡單的解決方案是一行代碼時,我不希望海報去創建自定義渲染器的所有麻煩。如果你提供了簡單的答案,然後解釋說:「爲了更復雜的格式化,你需要創建一個自定義渲染器」,因爲你會第一個提出建議,所以我會投票贊成。我很高興我很煩人。我厭倦了人們發佈誤導或不正確的答案,希望在這裏和那裏得到一些讚揚。 – camickr 2011-06-02 01:47:35

2

一種選擇是設置UIManager的GUI初始化之前暗示,例如:

FontUIResource font = new FontUIResource("Verdana", Font.PLAIN, 24); 
UIManager.put("Table.font", font); 
UIManager.put("Table.foreground", Color.RED);