java,帮忙解释下这个橡皮筋绘图程序
Java中画橡皮筋直线简便方法.收藏---我运行过,可以画
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class DrawLine extends JFrame {
private int startX, startY, endX, endY;
private Graphics og;
private Image oimg;//Memory Graphics and Image
/** Creates a new instance of Test3 */
public DrawLine() {
this.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent me) {
// TODO Auto-generated method stub
endX = me.getX();
endY = me.getY();
repaint();
}
});
this.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
// TODO Auto-generated method stub
startX = me.getX();
startY = me.getY();
}
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
og.drawLine(startX, startY, endX, endY);//加一条直线至内存Graphics
}
});
this.setBounds(200, 200, 300, 300);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
oimg = createImage(getSize().width, getSize().height);
og = oimg.getGraphics();
}
public void paint(Graphics g) {
super.paint(g);
g.drawImage(oimg, 0, 0, this);//先把之前保存在内存的Image画上
g.drawLine(startX, startY, endX, endY);
}
public static void main(String[] args) {
new DrawLine();
}
}
这个具体怎么实现的?是画了后还擦除,og.drawline那段,和 oimg以后的那些部分,都看不懂 问题补充:是不是画直线直线前先把其他图像保存在内存,然后不断刷新所画直线?