java 编程 背景颜色的改变

2024-12-26 06:17:57
推荐回答(2个)
回答1:

**************************************************************

新建一个类ChangeColor.java,代码如下:

**************************************************************

import java.awt.Color;

import java.awt.event.MouseEvent;

import java.awt.event.MouseMotionListener;

import javax.swing.JFrame;

/**

 * @author Godwin

 * @version 2010-05-16

 */

public class ChangeColor extends JFrame implements MouseMotionListener {

 public ChangeColor() {

  this.setTitle("Change Color");

  this.setBounds(300, 200, 400, 300);

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  this.setVisible(true);

  this.getContentPane().setBackground(Color.GREEN);

  this.addMouseMotionListener(this);

 }

 public void mouseMoved(MouseEvent e) {

  if (e.getX() < (this.getWidth() / 2)) {

   this.getContentPane().setBackground(Color.RED);

  } else {

   this.getContentPane().setBackground(Color.BLUE);

  }

 }

 public void mouseDragged(MouseEvent e) {

 }

 public static void main(String[] args) {

  new ChangeColor();

 }

}

**************************************************************

运行结果如下:

**************************************************************

回答2:

你看这样可以不, 在你的容器中设置鼠标移动事件,在处理函数中可以获得当前鼠标的x和y坐标,然后可以根据容器的大小来判断现在鼠标是位于哪个区域,这样,根据鼠标所在区域,可以相应的改变容器的背景色吧! 呵呵,你可以试下.