zoukankan      html  css  js  c++  java
  • GUI编程笔记(java)08:GUI通过鼠标移动到按钮上更改背景色案例

    首先我们看看源代码如下:

      1 package cn.itcast_06;
      2 
      3 import java.awt.Button;
      4 import java.awt.Color;
      5 import java.awt.FlowLayout;
      6 import java.awt.Frame;
      7 import java.awt.event.MouseAdapter;
      8 import java.awt.event.MouseEvent;
      9 import java.awt.event.WindowAdapter;
     10 import java.awt.event.WindowEvent;
     11 
     12 public class FrameDemo {
     13     public static void main(String[] args) {
     14         // 创建窗体对象
     15         final Frame f = new Frame("更改背景色");
     16         // 设置窗体属性和布局
     17         f.setBounds(400, 200, 400, 300);
     18         f.setLayout(new FlowLayout());
     19 
     20         // 创建四个按钮
     21         Button redButton = new Button("红色");
     22         Button greenButton = new Button("绿色");
     23         Button buleButton = new Button("蓝色");
     24 
     25         // 添加按钮
     26         f.add(redButton);
     27         f.add(greenButton);
     28         f.add(buleButton);
     29 
     30         // 设置窗体关闭
     31         f.addWindowListener(new WindowAdapter() {
     32             @Override
     33             public void windowClosing(WindowEvent e) {
     34                 System.exit(0);
     35             }
     36         });
     37 
     38         // 对按钮添加动作事件,点击按钮
     39         // redButton.addActionListener(new ActionListener() {
     40         // @Override
     41         // public void actionPerformed(ActionEvent e) {
     42         // f.setBackground(Color.RED);
     43         // }
     44         // });
     45 
     46         // 对按钮添加鼠标点击事件,鼠标点击按钮,这与上面效果一样
     47         // redButton.addMouseListener(new MouseAdapter() {
     48         // @Override
     49         // public void mouseClicked(MouseEvent e) {
     50         // f.setBackground(Color.RED);
     51         // }
     52         // });
     53 
     54         // 对按钮添加鼠标的进入事件,鼠标箭头一旦进入按钮区域,就会触发事件
     55         redButton.addMouseListener(new MouseAdapter() {
     56             @Override
     57             public void mouseEntered(MouseEvent e) {
     58                 f.setBackground(Color.RED);
     59             }
     60         });
     61 
     62         redButton.addMouseListener(new MouseAdapter() {
     63             @Override
     64             public void mouseExited(MouseEvent e) {
     65                 f.setBackground(Color.WHITE);
     66             }
     67         });
     68 
     69         greenButton.addMouseListener(new MouseAdapter() {
     70             @Override
     71             public void mouseEntered(MouseEvent e) {
     72                 f.setBackground(Color.GREEN);
     73             }
     74         });
     75 
     76         greenButton.addMouseListener(new MouseAdapter() {
     77             @Override
     78             public void mouseExited(MouseEvent e) {
     79                 f.setBackground(Color.WHITE);
     80             }
     81         });
     82 
     83         buleButton.addMouseListener(new MouseAdapter() {
     84             @Override
     85             public void mouseEntered(MouseEvent e) {
     86                 f.setBackground(Color.BLUE);
     87             }
     88         });
     89 
     90         buleButton.addMouseListener(new MouseAdapter() {
     91             @Override
     92             public void mouseExited(MouseEvent e) {
     93                 f.setBackground(Color.WHITE);
     94             }
     95         });
     96 
     97         // 设置窗体显示
     98         f.setVisible(true);
     99     }
    100 }

    运行结果如下:

    当我们分别把鼠标放到红色、绿色、蓝色位置上的时候,颜色分别发生如下变化:

  • 相关阅读:
    scala
    数据结构(01)
    基本算法(07)
    基本算法(06)
    基本算法(05)
    git pull文件时和本地文件冲突的问题
    获取两个日期之间的日期形成一个集合
    lombok的简单介绍(2)
    springboot启动报错
    逆向工程的创建
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4760175.html
Copyright © 2011-2022 走看看