Hallo,
gleich zu Anfang ich bin in Java sehr schlecht also habt bitte Nachsicht
Ich will ein Programm schreiben, wo ich in mein Panel reinklicken kann und dann dort ein Kreis gezeichnet wird.
Ich bin ein bisschen überfordert, da ich nicht genau weiß, wo ich das genau 'hinschreibe'...
Meine konkrete Frage ist, ob ich das bei MouseClicked richtig definiert habe oder ich das in paintComponent machen muss?!
Ich hoffe ihr könnt mir ein bisschen weiterhelfen
gleich zu Anfang ich bin in Java sehr schlecht also habt bitte Nachsicht
Ich will ein Programm schreiben, wo ich in mein Panel reinklicken kann und dann dort ein Kreis gezeichnet wird.
Ich bin ein bisschen überfordert, da ich nicht genau weiß, wo ich das genau 'hinschreibe'...
Java:
package endprojekt;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
public class Endprojekt extends JFrame implements ActionListener, MouseListener {
JFrame hansi;
zeichenpanel zeichnung;
JButton farbeaendern;
JButton koordinatenspeichern;
JPanel buttonpanel;
public static void main(String[] args) {
Endprojekt project=new Endprojekt();
project.los();
}
public void los()
{
hansi=new JFrame();
hansi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
zeichnung=new zeichenpanel();
hansi.getContentPane().add(BorderLayout.CENTER,zeichnung);
hansi.setBackground(Color.WHITE);
hansi.setSize(600,600);
buttonpanel=new JPanel();
farbeaendern=new JButton("Farbe ändern");
koordinatenspeichern=new JButton("Koordinaten speichern");
buttonpanel.add(farbeaendern);
buttonpanel.add(koordinatenspeichern);
buttonpanel.setLayout(new GridLayout(1,2));
hansi.getContentPane().add(BorderLayout.SOUTH,buttonpanel);
hansi.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void mouseClicked(MouseEvent e) {
Graphics g=getGraphics();
int x=e.getX();
int y=e.getY();
g.setColor(Color.red);
g.drawOval(x, y, 15, 15);
zeichnung.repaint();
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
}
Java:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package endprojekt;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.*;
/**
*
* @author Administrator
*/
public class zeichenpanel extends JPanel {
@Override
public void paintComponent(Graphics g)
{
g.setColor(Color.WHITE);
g.fillRect(0, 0, this.getWidth() , this.getHeight());
}
}
Meine konkrete Frage ist, ob ich das bei MouseClicked richtig definiert habe oder ich das in paintComponent machen muss?!
Ich hoffe ihr könnt mir ein bisschen weiterhelfen