为什么我的矩形不会绘制到JFrame?

时间:2016-02-14 09:05:14

标签: java

我正在尝试在窗口中绘制一个矩形。窗口出现了,但不是矩形,我做错了什么?有人可以给我一个简单的解释,谢谢

  import java.awt.Graphics;

   import javax.swing.JFrame;

  public class Moving{
  public static void main (String[]args) {
  Main();
  drawShape(null);
 }
public static void Main () {
JFrame frame= new JFrame () ;
frame.setVisible(true);
 frame.setSize(400, 400);

}

public static void drawShape(Graphics g) {
g.drawRect(0, 0, 100, 100);
}
}

1 个答案:

答案 0 :(得分:0)

首先,有两个主要方法没有多大意义,所以最好将它们结合起来。其次,您需要一个Graphics对象才能绘制并且您正在传递null。您认为(null graphic).draw()会怎么样?您需要传递框架正在使用的图形。

public static void main (String[]args) {
    JFrame frame= new JFrame ();
    frame.setSize(400, 400);
    Graphics g = frame.getGraphics();
    drawShape(g);
    frame.setVisible(true);
}