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

📄 twopic.java

📁 java applet 非常全的实例。比较利于初学者进行研究。
💻 JAVA
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Twopic extends Applet implements MouseListener , MouseMotionListener{
   Graphics g;
   Image foreimg;
   Image backimg;
   Image offi;
   int width;
   int height;
   
   boolean finishLoad =false;
   boolean first_time = true;
   
   int eraser_size = 50;
   
   int oldX;
   int oldY;
   
   public void init(){
      g = getGraphics();
      
      width = size().width;
      height = size().height;
      
      String parameter = getParameter("picture1");
      if(parameter != null)
         foreimg = getImage(getCodeBase(),parameter);         
         
      parameter = getParameter("picture2");
      if(parameter != null)
         backimg = getImage(getCodeBase(),parameter);               
      
      offi = createImage(300, 400);
      Graphics offg = offi.getGraphics();
      offg.drawImage(foreimg,0,0, this);
      addMouseMotionListener(this);
      addMouseListener(this);
   }
   
   public boolean imageUpdate(Image img, int infoflags, int x, int y, int w,int h){
      if(infoflags == ALLBITS){
         finishLoad = true;
         repaint();
         
         return false;
      }else
         return true;
   }
   public void update(Graphics g){
      paint(g);
   }
   
   public void paint(Graphics g){
      if(!finishLoad)
         g.drawString("loading image...", 25, 25);
      else{
         width = size().width;
         height = size().height;
         first_time = true;
         g.drawImage(foreimg,0,0,width, height,this);
      }
   }

   public void replace_image(int x, int y){
      Graphics g2 = g.create();
      g2.setXORMode(Color.white);
      
      if(!first_time){
         g2.drawRect(oldX, oldY, eraser_size, eraser_size);
         first_time = true;
      }
      g2.setPaintMode();
      g2.clipRect(x, y, eraser_size, eraser_size);
      g2.drawImage(backimg, 0, 0, width, height, this);
   }
   

 public  void mouseClicked(MouseEvent e){
 }



 public  void mousePressed(MouseEvent e){
    int x, y;
    x = e.getX();
    y = e.getY();
       replace_image(x, y);

 }



 public  void mouseReleased(MouseEvent e){
 }



 public  void mouseEntered(MouseEvent e){
 }



 public  void mouseExited(MouseEvent e){
 }


 public  void mouseDragged(MouseEvent e){
    int x, y;
    x = e.getX();
    y = e.getY();
    replace_image(x, y);

 }



 public  void mouseMoved(MouseEvent e){
      Graphics g2 = g.create();
      int x, y;
      
      x = e.getX();
      y = e.getY();

      g2.setXORMode(Color.white);
      if(first_time)
         first_time = false;
      else
         g2.drawRect(oldX, oldY, eraser_size, eraser_size);
      g2.drawRect(x, y, eraser_size, eraser_size);
      oldX = x;
      oldY = y;
    
 }



}

⌨️ 快捷键说明

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