Hallo allerseits,
Ich habe folgende Aufgabe zu lösen: Der User gibt einen x-, y- und einen Radius-Wert ein. Dann soll ein entsprechender Kreis gezeichnet werden.
Mein Problem ist, dass das Program den Kreis nicht zeichnet.
Hier die Kreis-Klasse:
und hier die Klasse, wo die Eingaben getätigt werden können:
sieht jemand den Fehler?
VIelen Dank für alle Tipps!
Ich habe folgende Aufgabe zu lösen: Der User gibt einen x-, y- und einen Radius-Wert ein. Dann soll ein entsprechender Kreis gezeichnet werden.
Mein Problem ist, dass das Program den Kreis nicht zeichnet.
Hier die Kreis-Klasse:
Code:
package P12_12;
import java.awt.geom.Ellipse2D;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JComponent;
public class Kreis extends JComponent{
private Ellipse2D.Double ell;
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.draw(ell);
}
public void getPosition(int x, int y, int r)
{
ell = new Ellipse2D.Double(x,y,r,r);
repaint();
}
}
Code:
package P12_12;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class UserInterface {
private static final int breite = 600;
private static final int laenge = 400;
public static void main(String[] args)
{
JFrame frame = new JFrame("KreisMacher");
JButton button = new JButton("Draw!");
final JTextField fieldX = new JTextField(10);
final JTextField fieldY = new JTextField(10);
final JTextField fieldR = new JTextField(10);
JPanel panel = new JPanel();
JLabel labelX = new JLabel("X-Wert");
JLabel labelY = new JLabel("Y-Wert");
JLabel labelR = new JLabel("Radius");
final Kreis kreis = new Kreis();
class KreisMacher implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
int x = Integer.parseInt(fieldX.getText());
int y = Integer.parseInt(fieldY.getText());
int r = Integer.parseInt(fieldR.getText());
kreis.getPosition(x, y, r);
}
}
ActionListener listener = new KreisMacher();
button.addActionListener(listener);
panel.add(labelX);
panel.add(fieldX);
panel.add(labelY);
panel.add(fieldY);
panel.add(labelR);
panel.add(fieldR);
panel.add(button);
frame.add(kreis);
frame.add(panel);
frame.setSize(breite, laenge);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
sieht jemand den Fehler?
VIelen Dank für alle Tipps!