【发布时间】:2012-10-25 19:01:40
【问题描述】:
我在 JFrame 构造函数中有以下简单代码
super(name);
setBounds(0,0,1100,750);
setLayout(null);
setVisible(true);
g = this.getGraphics();
int[] x =new int[]{65, 122, 77, 20, };
int[] y =new int[]{226, 258, 341, 310};
g.setColor(Color.RED);
g.drawPolygon (x, y, x.length);
System.out.println(g);
我在控制台上得到的输出为:
sun.java2d.SunGraphics2D[font=java.awt.Font[family=Dialog,name=Dialog,style=plain,size=12],color=java.awt.Color[r=255,g=0, b=0]]
但是在 JFrame 上没有绘制红色多边形,而只是空白的 JFrame。
为什么??
【问题讨论】:
-
这不是在 JFrame 上绘制的正确方法。您应该继承 JPanel 并覆盖
paintComponent(Graphics),然后在传递的图形对象上进行绘制。
标签: java swing graphics jframe paint