我正在寻找我们是否可以在给定的Example中添加 Height 元素。
这样我就可以指定
public void drawString(Graphics g, String s, int x, int y, int width,int height)
现在,如果我的文本超过高度,它将与下一个文本重叠。
我没有对此进行测试,但这可能会帮助您解决问题..
public void drawString(Graphics g, String s, int x, int y, int width, int height) {
// FontMetrics gives us information about the width,
// height, etc. of the current Graphics object's Font.
FontMetrics fm = g.getFontMetrics();
int lineHeight = fm.getHeight();
int curX = x;
int curY = y;
int totalHeight = 0;
String[] words = s.split(" ");
String word = "";
// end of words array wasn't reached and still some space left
for(int i = 0; i < words.length && totalHeight <= height; i++) {
// Find out thw width of the word.
int wordWidth = fm.stringWidth(word + " ");
// If text exceeds the width, then move to next line.
if (curX + wordWidth >= x + width) {
curY += lineHeight;
totalHeight += lineHeight;
curX = x;
}
g.drawString(word, curX, curY);
// Move over to the right for next word.
curX += wordWidth;
}
}