Hallo, die Aufgabe ist die Folgende: Es soll ein Kreis gezeichnet werden, dieser soll dann mit dem entsprechenden Button um jeweils 1 Pixel vergrößert/verkleinert werden. Mein Problem ist jetzt, wie ich die Breite/Höhe des Ovals ändern kann. Meine Idee war den Punkt in einer Collection abzuspeichern und dann irgendwie setWidth setHeight aufzurufen, jedoch komme ich damit nicht weiter.
Der Code:
Der Code:
Code:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class kreiskleingross extends JPanel implements ActionListener{
Point punkt=new Point(-50, -50);
JButton b1=new JButton("Größer");
JButton b2=new JButton("Kleiner");
Collection<Point> punkte=new HashSet<Point>();
kreiskleingross(){
setLayout(new BorderLayout());
b1.addActionListener(this);
b2.addActionListener(this);
add(b1, BorderLayout.WEST); add(b2, BorderLayout.EAST);
mouse m=new mouse();
addMouseListener(m);
addMouseMotionListener(m);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b1) {
for(Point p: punkte) {
}
}
if(e.getSource()==b2) {
}
}
public void paintComponent(Graphics g) {
g.fillOval(punkt.x-25, punkt.y-25, 50, 50);
}
class mouse extends MouseAdapter{
public void mousePressed(MouseEvent e) {
punkte.clear();
punkt =e.getPoint();
punkte.add(punkt);
repaint();
}
}
public static void main(String[] args) {
JFrame mf=new JFrame();
mf.setSize(250, 150);
mf.setVisible(true);
mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JComponent n=new kreiskleingross();
mf.setContentPane(n);
n.setOpaque(false);
}
}