📄 twopic.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 mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(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 + -