画布(Canvas类)初探

代码

/*在画布上绘画*/
import java.awt.*;
import java.awt.event.*;//AvctrionListener,AvctionEvent
public class sample64 extends Frame
{
	Button btn = new Button("退出");
	sample64()
	{
		setTitle("Canvas的子类");
		setVisible(true);
		Panel pnl = new Panel();
		pnl.setBackground(Color.blue);
		add(pnl);
		sample641 cvs = new sample641();
		pnl.add(cvs);		
		pack();
		addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e)
			{
				setVisible(false);
				System.exit(0);
			}			
			});
	}
	public static void main(String args[])
	{
		sample64 smp = new sample64();
	}
	class sample641 extends Canvas
	{
		sample641()
		{
			setSize(150,120);
			setBackground(Color.cyan);
		}
		public void paint(Graphics g)//绘制此 canvas。paint为一个自动调用的方法
		{
			g.setColor(Color.black);
			g.drawString("黄色区域是画布",35,22);//后两位为坐标
			g.drawString("可用鼠标拖动边框",30,39);
			g.setColor(Color.pink);
			g.fillRoundRect(25,50,100,50,20,20);//用当前颜色填充指定的圆角矩形。在画布上填充
		}
	}
	
}

解析

1.import两个包
import java.awt.;
这个包包含了Frame类
import java.awt.event.
;//AvctrionListener,AvctionEvent
这个包包含了ActionListener和ActionEvent这两个类
2.public void paint(Graphics g)
这个方法自动调用,后面学到的Graphics2D类画图、Graphics类画图等各种画图均要用到。
3.区分draw和fill
Graphics 有两种画图,一种是fill,一种是draw。fill是填充一个图形的颜色,draw是画一个图形,内部没有颜色,边界颜色。

我的新浪博客:NeyzoterSong
我的微博:Neyzoter

posted on 2016-02-26 00:19  NeyzoterSong  阅读(386)  评论(0)    收藏  举报

导航