Witam probuje zrobic okno z przyciskiem po ktorego kliknieciu tlo zmienialoby sie na czerwono (tlo okna nie przycisku). Mam 2 klasy jak na razie:
MyFrame
package pl.javastart.first;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MyFrame extends JFrame {
public MyFrame () {
setTitle("Test");
setSize(600,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
JButton redButton = new JButton("Czerwony");
JPanel buttonPanel = new JPanel();
buttonPanel.add(redButton);
add(buttonPanel);
ColorAction redAction = new ColorAction(Color.RED);
redButton.addActionListener(redAction);
}
private class ColorAction implements ActionListener {
private Color backgroundColor;
private JPanel buttonPanel;
public ColorAction (Color color) {
backgroundColor = color;
}
public void actionPerformed (ActionEvent event) {
buttonPanel.setBackground(backgroundColor);
}
}
}
Test
package pl.javastart.first;
import java.awt.EventQueue;
public class Test {
public static void main (String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
MyFrame frame = new MyFrame();
}
});
}
}
Po skompilowaniu okno i cala reszta sie uruchamia. Jednak gdy wcisne przycisk dostaje:
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
w czym problem?