题目如下:编写一个GUI程序,包含一个带图标的JButton对象。当用户点击这个按钮时,把窗体的标题修改为“单击按钮”。按下按钮和鼠标经过按钮时,JButton上的图标有不同的效果。
代码如下:

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JFrame;
public class Button extends JFrame{
static Icon apple=new ImageIcon("apple.png");
static JButton button=new JButton(apple);
//static JPanel p=new JPanel();
//setTitle("单击按钮");
public Button() {//add(p);setSize(300,300);setLocation(400,400);//setTitle("单击按钮");setLayout(new FlowLayout());add(button);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);button.addMouseListener(new B(this));
}
public static void main(String[] args) {Button frame=new Button();frame.setVisible(true);
}
}
class B extends MouseAdapter{Button b;public B(Button but) {this.b=but;}public void mouseClicked(MouseEvent e) {b.setTitle("单击按钮");b.button.setBackground(Color.red);}public void mouseEntered(MouseEvent e) {b.button.setBackground(Color.blue);}public void mouseExited(MouseEvent e) {b.button.setBackground(Color.green);}
}

这题唯一的难点就是在按下按钮后要使用setTitle改变窗体标题,而使用匿名类MouseAdapter就无法使用这个方法,所以需要使用类B来继承MouseAdapter,并使用构造函数来接受Button类实例,Java中除了基本类型外都是按引用传递,所以对参数but修改就等于对主类实例进行修改。

JButton按钮响应相关推荐

  1. jsf按钮响应事件_如何从JSF获取JSON响应?

    jsf按钮响应事件 许多JavaScript小部件都希望使用JSON格式的数据和选项. 如今,选择一个很酷的小部件并将其包装在一个复合组件中确实很容易. 但是第一个问题是如何发送AJAX请求并以正确的 ...

  2. java awt 按钮响应_Java AWT按钮

    java awt 按钮响应 The Button class is used to implement a GUI push button. It has a label and generates ...

  3. java 多个监听_​Java中使用for循环对多个Jbutton按钮监听

    Java中Jbutton按钮监听,当多个按钮做的事差不多的时候是可以用for循环的(比如计算器1-9)省事省力. 监听时变量只能是final或者static,不过这些在for循环中明显不行,所以,就在 ...

  4. pygame鼠标进行拖拽移动图片、缩放、以及按钮响应 案例

    pygame鼠标进行拖拽移动图片.缩放.以及按钮响应 案例 # -*- coding: UTF-8 -*- #!/usr/bin/env python3 # @Time : 2021.12 # @Au ...

  5. Android按钮响应事件的四种方式

    一.按钮响应事件的四种方式 整体布局 沿用登录界面,对登录按钮进行事件响应处理 <?xml version="1.0" encoding="utf-8"? ...

  6. Android开发之不规则图形按钮响应

    这是我在网上找了不少资料后,总结下来的简单不规则图形按钮制作方法. 如果我们想在安卓开发时设计漂亮的按钮,很可能会用到图片按钮,但是图片按钮响应区域是长方形的,比如下图 如果里面的月亮和云彩是用图片按 ...

  7. public class Registe { private void button1ActionPerformed(ActionEvent e) {//注册按钮响应事件 if(textFie

    public class Registe { private void button1ActionPerformed(ActionEvent e) {//注册按钮响应事件 if(textField1. ...

  8. JAVA Swing——设置JButton按钮样式

    1.对JButton大小的设置 因为JButen是属于小器件类型的,所以一般的setSize不能对其惊醒大小的设置,所以一般我们用 button.setPreferredSize(new Dimens ...

  9. Java 中的JButton按钮事件,ActionListener

    package awt01; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Button ...

最新文章

  1. 前端智能化的加速时刻:华为机器视觉的创新方程式
  2. 三种睡眠时间函数的区别:linux 的sleep()、usleep()、nanosleep()函数
  3. java基础第十四天_IO
  4. 【Qt】创建线程程序示例
  5. c语言音像图书管理系统设计,c语言--图书管理系统
  6. 如何在 LeetCode 高效刷题,才能拿到一线大厂 Offer
  7. 程 序 测 试 规 范
  8. OJ1069: 向Z同学学习
  9. Storm集群开启HA高可用
  10. mybatis基础_动态代理开发
  11. java填空题答案_java练习题附选择填空答案
  12. php directory lister,PHP目录展示工具DirectoryLister
  13. 手机安装python模块吗_你不知道的Python模块安装教程
  14. 笔记| 计算机数据表示实验(HUST)| 汉字机内码获取实验
  15. 电流(或电压)的平均值与有效值
  16. php生成word,并下载
  17. XPO 的三篇介绍文章。
  18. keil uvision5 软件安装图文教程及视频演示
  19. 医学生学计算机建议,医学生计算机能力的培养
  20. python-requests 模拟登陆京东

热门文章

  1. Flutter 倒计时实现
  2. java项目开发实例基于SSM的公司员工管理系统含论文+开题报告
  3. 学生管理系统JAVA-面向过程
  4. 毕业设计:基于SSM框架的新生报到数据可视化系统
  5. 哪些言论和文字,会让你受教终生?
  6. java 网页 录音_Java+FlashWavRecorder实现网页录音并上传
  7. ModelNet40点云数据集预处理
  8. 五大机器学习微信公众号推荐
  9. java进行抽奖_简单实现java抽奖系统
  10. pytorch实现ShuffleNet