我想创建这个简单的GUI,点击次数显示在按钮上,并在每次点击后增加,并且每次点击后,每种颜色按钮向右旋转一个值。目前,GUI已经创建,但背景没有设置,当你点击任何东西时没有任何反应。我似乎无法在这里找到问题。任何人都可以看到吗?正在创建Java GUI,但事件不会触发任何东西
非常感谢本您的帮助:)
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class ButtonJava extends JButton implements ActionListener {
private static int currentColor=0;
private int clicks;
private static final Color[] COLORS = {
Color.ORANGE,
Color.WHITE,
Color.GREEN };
public ButtonJava(){
setBackground(Color.YELLOW);
setText("Pick ME");
this.addActionListener(this);
}
public static void main(String[] args) {
JFrame frame = new JFrame ("JFrame");
JPanel panel = new JPanel();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton buttons[] = new JButton[3];
for(int i = 0;i<buttons.length ; i++){
buttons[i] = new ButtonJava();
panel.add(buttons[i]);
}
frame.getContentPane().add(panel);
frame.setSize(500, 500);
frame.setVisible(true);
}
private void updateButton() {
changeColors();
clicks++;
setText("# of clicks = " + Integer.toString(clicks));
}
private void changeColors() {
for (int i=0;i<COLORS.length;i++){
setBackground(COLORS[currentColor]);
currentColor %=2;
}
}
@Override
public void actionPerformed(ActionEvent event) {
updateButton();
}
}
啊,我已经纠正了我现在最初的错误,但我实施了错误地调用changeColors(),它只改变一个按钮的颜色而不是所有三个。任何人都可以帮忙吗? – user476033 2011-02-08 20:50:54