java ,假如我新建了一个JFrame,又加了一个JPanel,我怎么怎么在JPanel上画图啊???
2个回答
展开全部
你写一个类继承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){....}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询