按照你的要求编写的Java程序如下:
import java.awt.BorderLayout;
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.JLabel;
public class ChangeColor extends JFrame implements ActionListener{
JLabel jl=new JLabel();
JButton jb=new JButton("改变颜色");
ChangeColor(){
jb.addActionListener(this);
jl.setOpaque(true);
add(jl,BorderLayout.CENTER);
add(jb,BorderLayout.SOUTH);
setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==jb){
int red=(int)(Math.random()*256);
int green=(int)(Math.random()*256);
int blue=(int)(Math.random()*256);
jl.setBackground(new Color(red,green,blue));
}
}
public static void main(String[] args) {
new ChangeColor();
}
}
运行结果: