Hi,
ich habe eine GUI erstellt, welche durch Klicks auf vier Buttons die Farbe ändert. Dies funktioniert soweit auch. Ich habe jetzt noch einen fünften Button hinzugefügt, der durch die Farben "scrollen" soll, sprich, bei jedem Klick ändert sich die Hintergrundfarbe.
Leider setzt er den Hintergrund immer nur auf rot, das Problem ist wohl die if-Abfrage, aber ich habe keine Ahnung warum es nicht funktioniert:
ich habe eine GUI erstellt, welche durch Klicks auf vier Buttons die Farbe ändert. Dies funktioniert soweit auch. Ich habe jetzt noch einen fünften Button hinzugefügt, der durch die Farben "scrollen" soll, sprich, bei jedem Klick ändert sich die Hintergrundfarbe.
Leider setzt er den Hintergrund immer nur auf rot, das Problem ist wohl die if-Abfrage, aber ich habe keine Ahnung warum es nicht funktioniert:
Java:
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Aufgaben extends JFrame implements ActionListener
{
JButton rot = new JButton("rot");
JButton gruen = new JButton("gruen");
JButton blau = new JButton("blau");
JButton grau = new JButton("grau");
JButton toll = new JButton("Kann alles");
public Aufgaben(String title)
{
super(title);
setLayout(new FlowLayout());
add(rot);
add(gruen);
add(blau);
add(grau);
add(toll);
//Actionlistener
rot.addActionListener(this);
gruen.addActionListener(this);
blau.addActionListener(this);
grau.addActionListener(this);
toll.addActionListener(this);
//Anzeige
setVisible(true);
setSize( 300, 225 );
setResizable( false );
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
@Override
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("rot"))
{
getContentPane().setBackground(Color.red);
repaint();
}
if (e.getActionCommand().equals("gruen"))
{
getContentPane().setBackground(Color.green);
repaint();
}
if (e.getActionCommand().equals("blau"))
{
getContentPane().setBackground(Color.blue);
repaint();
}
if (e.getActionCommand().equals("grau"))
{
getContentPane().setBackground(Color.gray);
repaint();
}
if (e.getActionCommand().equals("Kann alles"))
{
if (getBackground().equals(Color.red))
{
getContentPane().setBackground(Color.green);
repaint();
}
if (getBackground().equals(Color.green))
{
getContentPane().setBackground(Color.blue);
repaint();
}
if (getBackground().equals(Color.blue))
{
getContentPane().setBackground(Color.gray);
repaint();
}
if (getBackground().equals(Color.gray))
{
getContentPane().setBackground(Color.red);
repaint();
}
else
{
getContentPane().setBackground(Color.red);
repaint();
}
}
}
}