Hallo zusammen,
ich habe ein kleines Testprogramm mit welchem ich Punkte bei Mausklick in eine ArrayList speichere und auf einer Zeichenfläche ausgeben möchte. Nur klappt bei mir das ganze nicht wenn ich repaint und die Methode paint nutzen möchte. Wer kann mir sagen woran es scheitert?
Viele Grüße
granini
ich habe ein kleines Testprogramm mit welchem ich Punkte bei Mausklick in eine ArrayList speichere und auf einer Zeichenfläche ausgeben möchte. Nur klappt bei mir das ganze nicht wenn ich repaint und die Methode paint nutzen möchte. Wer kann mir sagen woran es scheitert?
Code:
public class Flaeche {
JFrame frame = new JFrame("Test");
public ArrayList<Point> pts = new ArrayList<Point>();
public Point p;
public Flaeche(){
JMenuBar menu = new JMenuBar();
JMenu go = new JMenu("Go");
JMenuItem go1 = new JMenuItem("Go");
go.add(go1);
menu.add(go);
go1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
newPoints(frame);
}
});
frame.setJMenuBar(menu);
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setSize(1024, 768);
frame.setLocation(150, 100);
frame.setVisible(true);
}
public void newPoints(JFrame f){
f.getContentPane().addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e){
addP(e.getX(),e.getY());
repaint();
// Graphics g = ((JPanel) e.getComponent()).getGraphics();
// g.setColor(Color.BLACK);
// g.fillRect(p.x, p.y, 7, 7);
}
});
}
public void paint(Graphics g){
super.paint(g);
g.setColor(Color.BLACK);
g.fillRect(p.x, p.y, 7, 7);
}
public void addP(int x, int y){
p = new Point(x,y);
pts.add(p);
}
}
Viele Grüße
granini