JAVA题,最近自学到事件处理机制,有一题不会下手,希望哪位大神给个参考答案,谢谢!题目是编写一个

2025年03月22日 19:16
有1个网友回答
网友(1):

按照你的要求编写的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();
 }
}

运行结果: