我正在学习基本的java。现在我学习JAVA Swing。 我有一个ActionListener的问题,我不知道在使用ActionListener进行处理时如何更改按钮的颜色。 这是我的代码:
package mypack;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class myGame extends JFrame{
public myGame() {
createGUI();
}
public static void createGUI(){
JFrame jf = new JFrame("Game 25 Lights Out!");
jf.setSize(557, 620);
jf.setLocation(400,100);
jf.setLayout(null);
jf.setResizable(false);
JButton[] jbt = new JButton[25];
int left = 10;
int top = 0;
for(int i=0; i<25; i++)
{
jbt[i] = new JButton(" " + (i+1));
jbt[i].setSize(110,110);
jbt[i].setLocation(top*110, left);
jbt[i].setBackground(Color.GREEN);
jbt[i].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
}
});
top++;
if(i==4||i==9||i==14||i==19){
left += 115;
top = 0;
}
jf.add(jbt[i]);
}
jf.setVisible(true);
}
public static void main(String[] args)
{
myGame.createGUI();
}
}
我需要一些方法actionPerformed的指南。
答案 0 :(得分:2)
@Override
public void actionPerformed(ActionEvent e)
{
JButton button = (JButton)e.getSource();
// do something with the button
}
您可以从ActionEvent
获取点击的按钮。然后你可以改变背景。
此外,使用此方法无需为每个按钮创建新的ActionListener
。您可以在循环之前创建ActionListener
,并为每个按钮添加相同的ActionListener
。