Почему моя линия не рисуется?
Итак, я определил mouseEventlistener и mousemotionListener, чтобы определить точки как таковые.
protected Point elementPosition = null;
public Point endPoint = null;
public Axis tempAxis;
public Graphics g;
class MouseButtonHandler extends MouseAdapter
{
public void mousePressed(MouseEvent e)
{
if(e.getModifiers()==InputEvent.BUTTON1_MASK)
{
elementPosition =new Point(e.getX(), e.getY()) ;
if(addType==YLABEL)
{
YDialog ydia = new YDialog(anApp);
ydia.setVisible(true);
value =(double) ydia.getValue();
ydia.dispose();
}
}
}
public void mouseReleased(MouseEvent e)
{
}
}
class MouseMoveHandler extends MouseMotionAdapter
{
public void MouseMoved(MouseEvent e)
{
Point currentCursor = e.getPoint();
}
public void mouseDragged(MouseEvent e)
{
endPoint = new Point(e.getX(), e.getY());
tempAxis = new Axis(elementPosition, endPoint);
tempAxis.draw(g);
}
}
Где класс оси определяется так.
import java.awt.*;
import java.awt.event.*;
public class Axis extends Object
{
public Point position;
public Point endPoint;
public Axis(Point position, Point endPoint)
{
this.position = position;
this.endPoint = endPoint;
}
public void draw(Graphics g)
{
g.setColor(Color.red);
g.drawLine(position.x, position.y, endPoint.x, endPoint.y);
}
}
Они оба реализованы в классе представления. Что всплывает, показывает меню все, как и планировалось, но не рисует ось, когда MouseDragged. В частности это говорит, что есть проблема в tempAxis.draw (g) ;. Кто-нибудь есть идеи, почему эта ошибка произошла. Кстати, я все еще новичок в Java.