这样用Graphics画矩形为什么不行呢?

Yanbin_Q 2003-10-16 02:41:08
//Draw.java

import javax.swing.*;
import java.awt.*;

public class Draw extends JFrame{

public static void main(String[] args){

JFrame draw=new Draw();
draw.setSize(320,240);
Graphics g=draw.getContentPane().getGraphics();//这里
g.drawRect(2,2,100,100);//还有这里
draw.show();
}
}

错误出在上面两处,要怎么改造才行呢?我希望在此处直接画出来。
...全文
75 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yanbin_Q 2003-11-21
  • 打赏
  • 举报
回复
我发现问题啊,我一直没注意paint(Graphics g)方法中的g的生命周期,它不能离开paint方法而存在。
Yanbin_Q 2003-10-16
  • 打赏
  • 举报
回复
那getGraphics()还有用吗?
realzealy 2003-10-16
  • 打赏
  • 举报
回复
不能这么直接画,你要写paint方法,调用repaint()做
import javax.swing.*;
import java.awt.*;

public class Draw extends JFrame
{
Draw()
{
repaint();
}
public void paint(Graphics g)
{
g.drawRect(2,2,100,100);
}


public static void main(String[] args){

JFrame draw=new Draw();
draw.setSize(320,240);
draw.setVisible(true);
}
}
Yanbin_Q 2003-10-16
  • 打赏
  • 举报
回复
也是一样的,没用,出错为
--------------------Configuration: j2sdk1.4.2 <Default>--------------------
java.lang.NullPointerException
at Draw.main(Draw.java:33)
Exception in thread "main"
Process completed.
ppqq2099 2003-10-16
  • 打赏
  • 举报
回复
有没试过
Graphics g=draw.getGraphics();
g.drawRect(2,2,100,100);

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧