⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testcanvas.java

📁 有大量的java的实例
💻 JAVA
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class TestCanvas extends Applet 
{
	CanvasDraw cd;

	public void init()
	{
		cd = new CanvasDraw(new Dimension(200,180),this);
		cd.setBackground(Color.pink);
		add(cd);
		cd.requestFocus();
	}
}
class CanvasDraw extends Canvas	implements KeyListener
{
	Applet m_Parent;
	boolean m_bFlag = false;
	int currentX=0,currentY=0,startX=0,startY=0;
	StringBuffer sb = new StringBuffer();
	CanvasDraw(Dimension d,Applet p)
	{
		m_Parent = p;
		setSize(d);
		setBackground(Color.gray);
		addKeyListener(this);
		addMouseListener(new MouseAdpt(this));
		addMouseMotionListener(new MouseMotionAdpt(this));
	}
	void setStart(int x,int y)
	{
		startX = x;
		startY = y;
	}
	void setCurrent(int x,int y)
	{
		currentX = x;
		currentY = y;
	}
	void setMouseDragged(boolean b) 
	{
		m_bFlag = b;
	}
	void showMeg(String s)
	{
		m_Parent.showStatus(s);
	}
	void clearAll()
	{
		startX = 0;
		startY = 0;
		currentX = 0;
		currentY = 0;
		repaint();
	}
	public void keyTyped(KeyEvent e)
	{
		char ch = e.getKeyChar();
		sb.append(ch);
		showMeg ("击键"+sb.toString());
		repaint();
	}
	public void keyPressed(KeyEvent e){}
	public void keyReleased(KeyEvent e){}
	public void paint(Graphics g)
	{
		g.drawString("("+currentX+","+currentY+")  "+sb,10,20);
		if(m_bFlag)
			g.drawLine(startX,startY,currentX,currentY);
	}
}
class MouseAdpt extends MouseAdapter
{
	CanvasDraw m_Parent;
	MouseAdpt(CanvasDraw p)
	{
		m_Parent = p;
	}
	public void mousePressed(MouseEvent e)
	{
		m_Parent.setStart(e.getX(),e.getY());
		m_Parent.showMeg("您开始画线");
	}
	public void mouseReleased(MouseEvent e)
	{
		m_Parent.showMeg("您画出了一条直线");
	}
	public void mouseEntered(MouseEvent e)
	{
		m_Parent.showMeg("鼠标进入画布");
	}
	public void mouseExited(MouseEvent e)
	{
		m_Parent.showMeg("鼠标移出画布");
	}
}
class MouseMotionAdpt extends MouseMotionAdapter
{
	CanvasDraw m_Parent;
	MouseMotionAdpt(CanvasDraw p)
	{
		m_Parent = p;
	}
	public void mouseMoved(MouseEvent e)
	{
		m_Parent.setCurrent(e.getX(),e.getY());
		m_Parent.setMouseDragged(false);
		m_Parent.repaint(10,0,60,30);
	}
	public void mouseDragged(MouseEvent e)
	{
		m_Parent.setCurrent(e.getX(),e.getY());
		m_Parent.setMouseDragged(true);
		m_Parent.repaint();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -