0
我不確定如何問這個問題,我有一個JPanel子類,它使用paintComponent繪製字符串。我有一個以String string, int xPos, int yPos, Font font
作爲參數的類,然後用g.drawString(text.getstring, etc...)
繪製該對象。不同對象的字體大小JPanel
但是,問題是,當構造文本類時,我想根據給定的字符串和字體計算文本的寬度和高度,但要做到這一點的方法似乎是這樣做的:
FontMetrics = g.getFontMetrics(Font);
int height = metrics.getHeight();
int width = metrics.stringWidth(string);
問題是g必須是來自paintComponent的'Graphics'對象,但是它不在類的範圍內,我應該將它作爲參數傳遞給文本類嗎?還是有更好的方法來做到這一點?
在你自己的組件中,使用'java.awt.font.TextLayout'。 – trashgod 2014-11-24 14:52:08