我只想在充滿黑色的矩形內顯示我的字符串。謝謝您的幫助!如何在填充矩形內繪製字符串?
回答
給你:
public class MyPanel extends JPanel{
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawRect(10/*x*/, 10/*y*/, 80/*width*/, 30/*hight*/);
g.drawString("TextToDraw", 25/*x*/, 25/*y*/);
}
}
如果我有g.drawRect(x-50,y-50,60,25),你認爲我的座標應該用於drawString嗎? – alicedimarco
Nvm! :D我知道了。非常感謝!我想通了:)哈哈我只是很難與我的drawString的座標,所以它沒有中心。 – alicedimarco
我很高興它的工作:) – GETah
public class LabeledRectangle extends Rectangle{
public LabeledRectangle(int x, int y, int width, int height, String text) {
super (x, y, width, height);
this.text = text;
}
public void draw(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.draw(new Rectangle2D.Double(x, y, width,height));
Font font = g2.getFont();
FontRenderContext context = g2.getFontRenderContext();
g2.setFont(font);
int textWidth = (int) font.getStringBounds(text, context).getWidth();
LineMetrics ln = font.getLineMetrics(text, context);
int textHeight = (int) (ln.getAscent() + ln.getDescent());
int x1 = x + (width - textWidth)/2;
int y1 = (int)(y + (height + textHeight)/2 - ln.getDescent());
g2.setColor(Color.red);
g2.drawString(text, (int) x1, (int) y1);
}
private String text;
}
你'字體的字體= g2.getFont();'然後兩行之後的'g2.setFont(字體);'不與變量'font'做任何事情。是不是'setFont'多餘? – 11684
- 1. 結算ctx.fillStyle繪製填充矩形
- 2. 使用畫布在填充的矩形內繪製文本Android
- 3. 如何在Rebol中繪製和填充圓角矩形
- 4. 如何在PDFBox中繪製填充的矩形?
- 5. 在圖像上繪製填充矩形並控制alpha通道
- 6. 如何繪製填充的多邊形?
- 7. 如何繪製填充多邊形?
- 8. 如何繪製沒有填充的字符串
- 9. win32 - 如何圍繞文本字符串繪製矩形?
- 10. 繪製和填充圓形
- 11. 填充矩形 - 繪畫方法(MIDP)
- 12. 繪製矩形,然後繪製縮小矩形在先前的矩形內
- 13. 繪製任何矩形到一個GTK + DrawingArea填充整個DrawingArea
- 14. 在矩形內填充文本
- 15. 在Cocos 2d v3中繪製一個填充矩形
- 16. gnuplot:在3d圖中繪製一個填充的矩形(splot)
- 17. 如何在圓角矩形內或圓形內繪製圖像?
- 18. 做一個文本字符串填充矩形
- 19. 如何在MATLAB中使用字符串動態填充矩陣?
- 20. 在android中繪製填充形狀mapview
- 21. Libgdx - 如何在scene2d的正確位置繪製填充的矩形?
- 22. 如何在php中一次繪製多個圖像中的填充矩形?
- 23. 如何繪製矩形?
- 24. 如何在jekyll中填充字符串?
- 25. 使用本機方法繪製矩形填充白色背景
- 26. 畫布繪製用線性漸變填充圓角矩形
- 27. wxPython - 使用DC繪製未填充的矩形
- 28. 繪製一個低透明度的填充矩形
- 29. 繪製並填充一個簡單的矩形
- 30. 在圖框上繪製矩形 - 如何限制矩形區域?
你嘗試過這麼遠嗎? 'drawString()'可以做到,但一定要在繪製矩形後調用它,否則會覆蓋字符串。 – zeller
我已經嘗試了g.fill之前的drawString,但它不是我正在尋找的。如果在g.fill之後,我嘗試過,它仍然不是D: – alicedimarco
也許在drawString之前改變顏色? – zeller