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

📄 applet_canvas.java

📁 采鸟一定要看 最基本的
💻 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 + -