📄 applet_canvas.java
字号:
//Applet_canvas.java
//09.29.04
//画布上显示鼠标 在画布上画基本图形
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
//********************************************************************
public class Applet_canvas extends Applet
{
CanvasDraw cd;
public void init(){
cd = new CanvasDraw(new Dimension(400,300),this);
cd.setBackground(Color.pink);
add(cd);
cd.requestFocus();
}
}
//*********************************************************************
class CanvasDraw extends Canvas implements KeyListener
{
Applet m_Parent;
boolean m_bFlag = false;
int curX = 0,curY = 0,staX = 0,staY = 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){
staX = x;
staY = y;
}
void setCurrent(int x,int y){
curX = x;
curY = y;
}
void setMouseDragged(boolean b){
m_bFlag = b;
}
void showMeg(String s){
m_Parent.showStatus(s);
}
void clearAll(){
staX = 0;
staY = 0;
curX = 0;
curY = 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("("+curX+","+curY+")",10,20);
if(m_bFlag)
g.drawLine(staX,staY,curX,curY);
}
}
//**************************************************************
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 + -