Hi, also warum benutzt man jetzt in diesem Fall paintComponent und nicht einfach nur paint?
Warum wird es dann nach der Reference angerufen in den eckigen Klammern ?
Gruß
Java:
public class TeilaufgabeB extends JFrame {
private int xOld;
private int yOld;
private int xNew;
private int yNew;
public TeilaufgabeB(){
super("LinienFrame");
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel drawing = new JPanel(){ //->> um diese Zeilen geht es
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawLine(xOld, yOld, xNew,yNew);
} //<-----
};
drawing.setPreferredSize(new Dimension(300, 100));
MouseListener ml = new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
xOld = e.getX();
yOld = e.getY();
repaint();
}
};
MouseMotionListener mMl = new MouseAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
xNew = e.getX();
yNew = e.getY();
repaint();
}
};
drawing.addMouseListener(ml);
drawing.addMouseMotionListener(mMl);
this.add(drawing);
pack();
setVisible(true);
}
public static void main(String[] args) {
new TeilaufgabeB();
}
}
Gruß