Hallo zusammen,
ich bin noch Java-Anfängerin und völlig am verzweifeln...
Habe bisher ein kleines Programm, dass doch einfach nur auf Mausklick einen Kreis in ein JPanel zeichnen soll.
Eigentlich tut es dass ja auch schon, nur noch nicht so ganz, wie ich das gerne hätte. Denn direkt beim Programmstart wird ein Kreis in das JPanel gezeichnet, ohne dass irgendwo hingeklickt wurde und außerdem kann ich bisher immer nur einen Kreis in das JPanel zeichnen, obwohl ich doch mehrere zeichnen will.
Folgenden Code hab ich bisher:
Könnt Ihr mir bitte verraten, was ich falsch gemacht habe und wie ich es richtig machen muss?
Grüße,
muemmel
ich bin noch Java-Anfängerin und völlig am verzweifeln...
Habe bisher ein kleines Programm, dass doch einfach nur auf Mausklick einen Kreis in ein JPanel zeichnen soll.
Eigentlich tut es dass ja auch schon, nur noch nicht so ganz, wie ich das gerne hätte. Denn direkt beim Programmstart wird ein Kreis in das JPanel gezeichnet, ohne dass irgendwo hingeklickt wurde und außerdem kann ich bisher immer nur einen Kreis in das JPanel zeichnen, obwohl ich doch mehrere zeichnen will.
Folgenden Code hab ich bisher:
Code:
public class Chordz extends JFrame {
FretBoard rahmen;
int mouse_x, mouse_y;
public Chordz() {
super();
setTitle("ChordZ");
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
rahmen = new FretBoard();
getContentPane().add(rahmen);
}
class FretBoard extends JPanel {
FretBoard() {
addMouseListener(new Maus());
setBackground(Color.WHITE);
setPreferredSize(new Dimension(160,200));
}
class Maus extends MouseAdapter {
public void mousePressed(MouseEvent e) {
mouse_x = e.getX();
mouse_y = e.getY();
repaint();
}
}
public void update(Graphics g) {
paintComponent(g);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.fillOval(mouse_x,mouse_y,20,20);
}
}
public static void main(String[] args) {
JFrame fenster = new Chordz();
fenster.setSize(350,275);
fenster.setLocation(200,300);
fenster.setVisible(true);
fenster.setResizable(false);
}
}
Grüße,
muemmel