graphics画图显示不出来,求解决

hustcqb 2013-05-23 05:13:06

import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Panel;


public class TempTest {

public static void main(String[] args) {
Frame f = new Frame();
Panel p= new Panel();
f.setVisible(true);
f.setBounds(100, 100, 400, 400);
f.add(p);
Graphics g = p.getGraphics();
g.drawRect(100, 100, 100, 100);

}

}


为什么矩形不显示,就只有一个空白框?
...全文
1037 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hustcqb 2013-05-24
  • 打赏
  • 举报
回复
引用 4 楼 jia20003 的回复:
public class TempTest {
 
    public static void main(String[] args) {
        Frame f = new Frame();
        Panel p= new Panel() {

			@Override
			public void paint(Graphics g) {
				// TODO Auto-generated method stub
				super.paint(g);
		        g.drawRect(100, 100, 100, 100);
			}
        	
        };
        f.setVisible(true);
        f.setBounds(100, 100, 400, 400);
        f.add(p);
    }
}
一点建议,使用Swing组件,不要再用AWT组件了! JFrame and JPanel
我知道这样能画出来,但是我在程序执行的过程中,想往这块添加图形,怎么做呢
hustcqb 2013-05-24
  • 打赏
  • 举报
回复
引用 3 楼 wqguanmu 的回复:
你想填充这个矩形框么? g.setColor(Color.red); g.filRect(100,100,100,100);
是我表述有歧义,我的意思是只有一个frame,里面什么都没有,矩形没有画出来
gloomyfish 2013-05-24
  • 打赏
  • 举报
回复
public class TempTest {
 
    public static void main(String[] args) {
        Frame f = new Frame();
        Panel p= new Panel() {

			@Override
			public void paint(Graphics g) {
				// TODO Auto-generated method stub
				super.paint(g);
		        g.drawRect(100, 100, 100, 100);
			}
        	
        };
        f.setVisible(true);
        f.setBounds(100, 100, 400, 400);
        f.add(p);
    }
}
一点建议,使用Swing组件,不要再用AWT组件了! JFrame and JPanel
灌木 2013-05-24
  • 打赏
  • 举报
回复
你想填充这个矩形框么? g.setColor(Color.red); g.filRect(100,100,100,100);
hustcqb 2013-05-24
  • 打赏
  • 举报
回复
引用 1 楼 jintianhen1 的回复:
重写一下panel 的 paint方法,在里面画图,应该是可以的
这样是可以画图,但是这样画出来的图不就写死了么,我要的是先new 出来一个panel,然后再画图,可以随时添加图元的,怎么实现?
付金辉 2013-05-24
  • 打赏
  • 举报
回复
你没有执行重绘
nj_dobetter 2013-05-24
  • 打赏
  • 举报
回复
添加图形的话,你需要使用数据结构来记录,然后在 public void paint(Graphics g) 中读取数据结构然后绘制 改变数据结构的时候,再调一下repaint(); 不要使用结构化的方法来添加图形...
静山晚风 2013-05-23
  • 打赏
  • 举报
回复
重写一下panel 的 paint方法,在里面画图,应该是可以的

62,614

社区成员

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

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