您好我正在创建一个java桌面应用程序,我正在绘制矩形。我想在矩形内写一些文字。
我怎样才能做到这一点?
这是我的代码:
class DrawPanel extends JPanel {
private void doDrawing(Graphics g) {
int a=90;
int b=60;
int c=10;
int d=15;
ArrayList<Graphics2D> g1 = new ArrayList<Graphics2D>();
for(int i=0;i<=9;i++){
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(new Color(212, 212, 212));
g2d.drawRect(c, d, a, b);
d+=65;
}
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
doDrawing(g);
}
}
答案 0 :(得分:3)
使用您的Graphics2D
对象并致电drawString(String str, int x, int y)
。像
g2d.drawRect(c, d, a, b);
g2d.drawString("Hi", (a+c)/2, (b+d)/2);
请注意,Javadoc指定了
使用此图形上下文的当前字体和颜色绘制指定字符串给出的文本。最左边的字符的基线位于此图形上下文的坐标系中的位置(x,y)。
因此您需要考虑字体在屏幕上占用的空间。请使用FontMetrics
。