Hallo.
Ich habe eine Forms geschrieben, die ein Quadrat mit einer Zahl (Würfel) anzeigt.
Klickt man auf den Button, so würfelt das Programm eine neue Zahl und wechselt per Zufall die Farbe des Würfels.
Ist mein Quelltext korrekt geschrieben, oder gibt es vermeidbare Fehler ? Kann man etwas anders oder besser machen?
Starter.java
Würfel.java
Quadrat.java
lg
ehlr
Ich habe eine Forms geschrieben, die ein Quadrat mit einer Zahl (Würfel) anzeigt.
Klickt man auf den Button, so würfelt das Programm eine neue Zahl und wechselt per Zufall die Farbe des Würfels.
Ist mein Quelltext korrekt geschrieben, oder gibt es vermeidbare Fehler ? Kann man etwas anders oder besser machen?
Starter.java
Java:
public class Starter {
public static void main(String[] args) {
new Würfel();
}
}
Würfel.java
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class Würfel extends JFrame {
/*
* Instanzvariablen
*/
private JButton button;
private JPanel panel;
private JLabel label;
private Quadrat quadrat = new Quadrat();
/*
* Konstruktor
*/
public Würfel() {
super("Cube");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
init();
pack();
setLocationRelativeTo(null);
setResizable(false);
setSize(100,170);
quadrat.setPreferredSize(new Dimension(100, 100));
setVisible(true);
}
/*
* Methode
*/
private void init() {
panel = new JPanel();
button = new JButton("Würfeln");
label = new JLabel("0");
label.setFont(new Font("Arial", Font.BOLD, 75));
label.setForeground(Color.WHITE);
quadrat.add(label);
panel.add(quadrat);
panel.add(button);
getContentPane().add(panel);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
panel.repaint();
int zahl = quadrat.zufall();
label.setText(zahl +"");
}
});
}
}
Quadrat.java
Java:
@SuppressWarnings("serial")
public class Quadrat extends JPanel{
/*
* Methoden
*/
@Override
public void paintComponent( Graphics g )
{
int x1 = (int) (Math.random() * 150);
int x2 = (int) (Math.random() * 150);
int x3 = (int) (Math.random() * 150);
g.setColor(new Color(x1,x2,x3));
g.drawRect(0,0,100,100);
g.fillRect(0,0,100,100);
}
public int zufall() {
int zahl;
zahl = (int) (Math.random() * 6) + 1;
return zahl;
}
}
lg
ehlr