java ,假如我新建了一个JFrame,又加了一个JPanel,我怎么怎么在JPanel上画图啊???

 我来答
lmy_sk521
2012-12-20 · TA获得超过2272个赞
知道小有建树答主
回答量:1330
采纳率:73%
帮助的人:720万
展开全部
你写一个类继承JPanel,重写paint()方法,在JFrame中加入你写的panel
更多追问追答
追问
假如我的类继承了JFrame呢???
追答
你再写一个类继承JPanel,例如
public class Demo_draw extends JFrame{

private MyPanel myPanel = null;
public Demo_draw(){
myPanel = new MyPanel();
this.add(myPanel);
this.setSize(500, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("绘图案例");
this.setVisible(true);
}

public static void main(String[] args) {
new Demo_draw();
}

class MyPanel extends JPanel{
//覆盖JPanel的paint方法
//Graphics 是绘图的重要类,可以把它理解成一只画笔
public void paint(Graphics g){
//调用父类函数完成初始化
super.paint(g);
//先画一个圆
g.drawOval(10, 10, 30, 30);
//画直线
g.drawLine(1, 1, 60, 80);
//画矩形
g.drawRect(60, 10, 40, 20);
//3D矩形
//g.draw3DRect(60, 10, 40, 20,true);

//设置颜色
g.setColor(Color.BLUE);
//添充矩形
g.fillRect(60, 40, 40, 20);
//画图片
Image image = Toolkit.getDefaultToolkit().getImage("images/lmy.jpg");
g.drawImage(image, 10, 100, 200, 200,this);

//画弧形
g.drawArc(220, 150, 120, 100, 0, 100);

//画文字
g.setColor(Color.BLUE);
g.setFont(new Font("仿宋",Font.BOLD,16));
g.drawString("这是我画的", 120, 20);
}
}
}
匿名用户
2012-12-20
展开全部
public void paint(Graphics g){....}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式