一个类,继承JPanel,复写它的paint(Graphics g)。
给JPanel加一个监听器
public void mouseDragged(MouseEvent e) {
if(paint.tools=="pen")
{
x=e.getX();
y=e.getY();
paint(g);
}
}
x,y都是类的域。
一下为paint方法
public void paint(Graphics g) {
g.setColor(Color.white);
g.fillRect(0, 0, paint.Width, paint.Height);
g.setColor(Color.black);
    System.out.println(x+" "+y);
    g.fillRect(x,y,3,3);
}
paint方法可以正常输出监听出的x,y但是就是画不出图形。?何解?

解决方案 »

  1.   

    你是连续拖动,paint只是画一下,划线你需要用repaint去刷新
    你把paint(g)改成repaint();试一下
      

  2.   

    public void mouseDragged(MouseEvent e) {
                    if(paint.tools=="pen")
                    {
                        x=e.getX();
                        y=e.getY();
                        paint(g);
                    }
                }
    就是把这个的paint(g); 改成repaint();