2011-07-19 72 views
3

我正在使用標準JTable和標準單元格編輯器來編輯字符串值。 在某些平臺上,當單元格編輯器打開時,文本不適合並且部分文本被剪切。例如,「_」符號不可見,以及由於符號的上部可能被切割,因此很難使「l」和「1」變成「d」。JTable - 單元格編輯器不夠高,不適合文本

也許我應該增加細胞高度,但多少?

結果非常依賴於當前Look &下跌,例如在Windows上一切都可能沒事,但是在Linux上描述的效果會出現。

+0

? –

+0

@javapowered什麼是「標準單元格編輯器」,是否意味着TableCell是可編輯的,沒有別的,或者TableCell裏面有一些JComponent – mKorbel

+2

@Hovercraft - 它是LayoutManager與之無關的少數幾件事之一:-) – kleopatra

回答

3

您可以使用表的字體高度計算行高。

FontMetrics metrics = table.getFontMetrics(); 
int fontHeight = metrics.getHeight(); 
table.setRowHeight(fontHeight + delta); 

三角洲可以是任何你舒服,你使用的是什麼佈局管理器:)

+0

getFontMetrics應該接受參數,我這樣寫'FontMetrics metrics = table.getFontMetrics(table.getFont());' – javapowered

+0

hm是它可以計算我需要多少「delta」?即多少額外的空間單元格編輯器爲邊界保留? – javapowered

+0

Border.getBorderInsets方法可以幫助你,我想 –

0

您可以修改單元格編輯器使用的字體。

Font font = new Font("Helvetica", Font.PLAIN, 22); 
相關問題