Hallo,
Es geht um folgende Aufgabe: Write a program that prompts the user for an integer and then draws as many rectangles at random positions in a component as the user requested.
Hier mein Versuch, zuerst der Rectangle:
und hier noch die MainMethode:
Würd mich natürlich freuen, wenn's nur ein kleiner Tippfehler hätte und den sofort jemand erkennen würde. Kann aber auch sein, dass ich was Grundlegendes mit ActionListenenern noch nicht kapiert habe.
Es geht um folgende Aufgabe: Write a program that prompts the user for an integer and then draws as many rectangles at random positions in a component as the user requested.
Hier mein Versuch, zuerst der Rectangle:
Code:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import javax.swing.JComponent;
import java.util.Random;
public class RectangleZeichner extends JComponent {
private Rectangle box;
private int x;
private int y;
private int breite = 20;
private int laenge = 30;
private Random generator;
public RectangleZeichner()
{
box = new Rectangle(x,y, breite, laenge);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.draw(box);
}
public void moveRec(int anzahl)
{
for (int i = 1; i <= anzahl; i++);
{
x = generator.nextInt();
y = generator.nextInt();
box.setLocation(x,y);
}
}
}
und hier noch die MainMethode:
Code:
package P12_11;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.geom.Rectangle2D;
public class RectangleTester {
final static int breite = 500;
final static int hoehe = 500;
public static void main(String[] args)
{
JFrame frame = new JFrame("RecheckZeiger");
JButton button = new JButton("GO!");
JPanel panel = new JPanel();
final JTextField field = new JTextField(10);
final RectangleZeichner r = new RectangleZeichner();
panel.add(field);
panel.add(button);
frame.add(panel);
class AddActionListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
int anzahl = Integer.parseInt(field.getText());
r.moveRec(anzahl);
r.repaint();
}
}
ActionListener listener = new AddActionListener();
button.addActionListener(listener);
frame.setSize(breite, hoehe);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Würd mich natürlich freuen, wenn's nur ein kleiner Tippfehler hätte und den sofort jemand erkennen würde. Kann aber auch sein, dass ich was Grundlegendes mit ActionListenenern noch nicht kapiert habe.