0
首先这个问题是OS X才有效我不知道是什么原因,如果有人能告诉我...(他工作正常,在Linux和Windows)的drawLine JAVA不留在Mac OS X
当我点击绘制时,旧点消失而不是停留。 如果你删除了关于super.paintComponent的注释,结果在osx上是一样的,但在window和linux上是不同的。
单击以绘制。
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Stack extends JPanel {
JFrame jf;
Panneau jp;
Point p;
public Stack() {
p = new Point();
jf = new JFrame("Window");
jp = new Panneau();
jp.setBackground(Color.white);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(800,600);
jf.setLayout(new GridLayout());
jf.add(jp);
jf.setVisible(true);
jp.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
setPoint(p);
jp.repaint();
}
});
}
public void setPoint(Point p) {
this.p.x += 10;
this.p.y += 10;
}
public class Panneau extends JPanel {
public void paintComponent(Graphics g) {
// super.paintComponent(g);
g.drawLine(p.x, p.y, p.x+5, p.y+5);
}
}
public static void main (String []args) {
Stack s = new Stack();
}
}
OK不错我也明白了,我必须补充一点,并重复我在同一时间就行了!谢谢 – 0x4d