需求:

  创建一个可改变背景颜色的窗口,鼠标移动到按钮上,窗口背景就会改变成特定的颜色

步骤: (大致上)
  创建窗口对象
  创建按钮对象
  添加按钮到窗口中
  设置窗口关闭监听事件
  设置鼠标进入按钮区域的监听事件
  设置鼠标离开按钮区域的监听事件
  设置显示窗口

代码:

  

 public class FrameText2 {

     public static void main(String[] args) {

         // 创建窗口对象
final Frame f = new Frame("改变背景颜色");
// 设置窗口的属性
f.setBounds(300, 300, 400, 400);
// 设置窗口布局
f.setLayout(new FlowLayout()); // 创建按钮对象
Button b1 = new Button("红色");
Button b2 = new Button("橙色"); // 添加按钮组件到窗体中
f.add(b1);
f.add(b2); // 设置窗口关闭监听事件
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}); // 设置鼠标进入按钮区域的监听事件
// 这个监听事件监听的对象是鼠标 :MouseListener MouseAdapter
b1.addMouseListener(new MouseAdapter() {
// public void mouseEntered(MouseEvent e)鼠标进入到组件上时调用。
public void mouseEntered(MouseEvent e) {
f.setBackground(Color.RED);
}
});
// 设置鼠标离开按钮区域的监听时间
b1.addMouseListener(new MouseAdapter() {
// public void mouseExited(MouseEvent e)鼠标离开组件时调用。
public void mouseExited(MouseEvent e) {
f.setBackground(Color.white);
}
}); // 设置鼠标进入按钮区域的监听事件
// 这个监听事件监听的对象是鼠标 :MouseListener MouseAdapter
b2.addMouseListener(new MouseAdapter() {
// public void mouseEntered(MouseEvent e)鼠标进入到组件上时调用。
public void mouseEntered(MouseEvent e) {
f.setBackground(Color.ORANGE);
}
});
// 设置鼠标离开按钮区域的监听事件
b2.addMouseListener(new MouseAdapter() {
// public void mouseExited(MouseEvent e)鼠标离开组件时调用。
public void mouseExited(MouseEvent e) {
f.setBackground(Color.white);
}
}); // 设置显示窗口
f.setVisible(true); } }

java 24 - 5 GUI之 鼠标移动改变窗体背景颜色的更多相关文章

  1. java 24 - 7 GUI之 创建多级菜单窗体

    需求: 创建多级菜单 步骤: A:创建窗体对象(并设置属性和布局) B:创建菜单栏 C:创建菜单和子菜单 D:逐步添加菜单(子菜单添加到菜单中,菜单添加到菜单栏中) E:窗体中设置菜单栏(菜单栏并不是 ...

  2. Javascript技巧实例精选(1)—鼠标选择动态改变网页背景颜色

    >>点击这里下载html源文件代码<< 采用Javascript实现,用鼠标点击相应颜色,动态改变网页背景颜色 这是截图 相应的Javascript源代码为: var hex ...

  3. Java基础 awt Button 鼠标放在按钮上背景颜色改变,鼠标离开背景颜色恢复

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  4. MFC改变对话框背景颜色

    原文链接: http://blog.sina.com.cn/s/blog_59955afc0100spjz.html 方法一:调用CWinApp类的成员函数SetDialogBkColor来实现. - ...

  5. table tr列 鼠标经过时更改背景颜色

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  6. C# 改变控制台背景颜色

    之前查找静态构造函数相关的问题无意间碰到的一个问题.改变控制台的背景颜色. static void Main(string[] args) { //设置绿色 Console.BackgroundCol ...

  7. 永久改变cmd背景颜色

    问题描述:cmd窗口为白底黑字,用久之后想换背景颜色. 解决方法一: win+R 输入regedis进入注册表,找到 HKEY_CURRENT_USER\Software\Microsoft\Comm ...

  8. java 24 - 8 GUI之创建四则运算计算器(未校验版)

    这个是用NetBeans软件制作的,因为这个软件制作GUI任务比较方便 通过拖拽控件生成的窗体:(红色的名称是更改后的控件名称) 拉拽好布局后,要进行的步骤: A:更改想要进行操作的控件的名称(右键控 ...

  9. java 24 - 1 GUI之GUI的概述和基本代码

    GUI(图形用户界面) GUI和CLI的区别: GUI Graphical User Interface(图形用户接口). 用图形的方式,来显示计算机操作的界面,这样更方便更直观. CLI Comma ...

随机推荐

  1. MVC的优点及不足之处

    1. MVC的优点 (1) 可以为一个模型在运行时同时建立和使用多个视图.变化-传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步. (2) 视图与控制器的可 ...

  2. 【代码笔记】iOS-两个滚动条,上下都能滑动

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  3. OC 初识NSString,self关键字,继承,成员变量的可见性,description方法

    OC 初识NSString,self关键字,继承,成员变量的可见性,description方法 初识 NSString: char * string = "旭宝爱吃鱼"; 常量字符 ...

  4. 深入理解Objective-C Runtime

    一.简介 主要特点: 在OC语言中,函数的调用是属于动态调用的,编译阶段并不确定要调用的函数,在真正的运行时才会根据函数名查找要调用哪个函数. 而在C语言中,函数的调用是在编译阶段就已经确定要调用哪个 ...

  5. Runnable,Thread实现多线程以及Runnable的同步资源共享

    (一) 实现多线程有两种方式 (1) 继承Thread类,重写run()方法,如以下例子 class MyThread extends Thread{ public void run(){ // } ...

  6. WPF学习之路(六)Command

    在WPF中,命令绑定机制是相比于事件更高级的概念,把应用程序的功能划分为多个任务,任务由多种途径触发. 应用Command Binding使代码更符合MVVM模式(Model-View-ViewMod ...

  7. Java集合的10个最常见问题

    以下是一些在Stackoverflow上经常被问起的与Java集合相关的问题.在你查阅这些问题之前,最好先去看看[Simple Java]Java集合框架的接口和类层次关系结构图. 什么时候优先选择L ...

  8. JAVA中的字符串小结

    String字符串是只读的,不可变的 查看String类的源码,可以发现String类是被final关键字修饰的: 另外还可以看下String类源码中的其它方法实现,随便举个可以修改String值的方 ...

  9. zookeeper集群某个follower启动失败

    配置完成zookeeper集群,发现有一个节点,进程正常但是状态异常 查看日志一开始进入歧途了,查看的是这个目录 其实应该查看这个目录的日志 失败日志: 很明显,没有权限,更改权限,启动成功

  10. mysql服务性能优化—my.cnf配置说明详解

    MYSQL服务器my.cnf配置文档详解硬件:内存16G [client]port = 3306socket = /data/3306/mysql.sock [mysql]no-auto-rehash ...