Java Swing JButton按钮的实现示例
作者:xietansheng 发布时间:2023-05-05 00:25:43
标签:Java,Swing,JButton,按钮
1. 概述
官方JavaDocsApi: javax.swing.JButton
JButton
,按钮。
JButton 常用构造方法:
// 创建不带有设置文本或图标的按钮
JButton()
// 创建一个带文本的按钮
JButton(String text)
// 创建一个带图标的按钮
JButton(Icon icon)
JButton 常用方法:
// 设置按钮的 文本、字体 和 字体颜色
void setText(String text)
void setFont(Font font)
void setForeground(Color fg)
/* 以下方法定义在 javax.swing.AbstractButton 基类中 */
// 设置按钮是否可用
void setEnabled(boolean enable)
// 设置按钮在 默认、按下、不可用 时显示的图片
void setIcon(Icon defaultIcon)
void setPressedIcon(Icon pressedIcon)
void setDisabledIcon(Icon disabledIcon)
// 是否绘制边框(设置不绘制边框,再结合上面三个设置按钮状态图片的方法,可实现自定义按钮)
void setBorderPainted(boolean b);
JButton 常用 * :
// 添加 和 移除 按钮的点击事件
void addActionListener(ActionListener listener)
void removeActionListener(ActionListener listener)
2. 代码实例: 默认按钮
package com.xiets.swing;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
public static void main(String[] args) {
JFrame jf = new JFrame("测试窗口");
jf.setSize(200, 200);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
// 创建一个按钮
final JButton btn = new JButton("测试按钮");
// 添加按钮的点击事件 *
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 获取到的事件源就是按钮本身
// JButton btn = (JButton) e.getSource();
System.out.println("按钮被点击");
}
});
panel.add(btn);
jf.setContentPane(panel);
jf.setVisible(true);
}
}
结果展示:
点击按钮,查看控制台输出。
3. 代码实例: 自定义图片按钮
使用以下两张图片分别表示按钮 正常显示 和 被按下时 显示 的图片:
package com.xiets.swing;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
public static void main(String[] args) throws AWTException {
JFrame jf = new JFrame("测试窗口");
jf.setSize(200, 200);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
final JButton btn = new JButton();
// 设置按钮的默认图片
btn.setIcon(new ImageIcon("button_normal.png"));
// 设置按钮被点击时的图片
btn.setPressedIcon(new ImageIcon("button_press.png"));
// 不绘制边框
btn.setBorderPainted(false);
// 添加按钮点击事件 *
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("按钮被点击了");
}
});
panel.add(btn);
jf.setContentPane(panel);
jf.setVisible(true);
}
}
结果展示:
点击按钮,查看控制台输出。
来源:https://blog.csdn.net/xietansheng/article/details/74363221


猜你喜欢
- 1.重载重载指在一个类中,具有多个相同名称的方法,他们的参数列表却不相同(参数类型不同、参数个数不同甚至是参数顺序不同)重载对返回类型没有要
- 一、概述;从字面上讲,就是停止这个世界,看到这个字眼,就觉得这是可怕的事情,那到底什么是stop-the-world?stop-the-wo
- java API中提供了一个基于指针操作实现对文件随机访问操作的类,该类就是RandomAccessFile类,该类不同于其他很多基于流方式
- 学习spring依赖注入的时候碰到这个坑,折腾了许久,记录一下以防其他小伙伴入坑!该异常主要原因是因为JDK与Spring版本不一致。要么更
- 请求映射源码首先看一张请求完整流转图(这里感谢博客园上这位大神的图,博客地址我忘记了):前台发送给后台的访问请求是如何找到对应的控制器映射并
- 记得当初自己刚开始学习Java的时候,对Java的IO流这一块特别不明白,所以写了这篇随笔希望能对刚开始学习Java的人有所帮助,也方便以后
- 实际上java已经提供线程池的实现 ExecutorService。为了更方便的使用和管理。这里提供一个线程池工具类,方便大家的使用。直接看
- 同步客户端套接字示例 下面的示例程序创建一个连接到服务器的客户端。该客户端是用同步套接字生成的,因此挂起客户端应用程
- 一、什么是Memcached?Memcached是danga.com开发的分布式内存对象缓存系统,所谓分布式,意味着它不是本地的,而是基于网
- 1. 概述官方JavaDocsApi: javax.swing.JComboBoxJComboBox,下拉列表框。JComboBox以下列列
- 我们有时用C#需要实现锁住文件的功能,该如何锁住文件呢?下面小编给大家介绍一下。首先大家需要到码云里面找到如下图所示的文件锁的项目,如下图所
- 如下所示:public class 字符串常用操作 { public static void main(String[] arg
- 在Android N上并没有提供直接的方法获取外置SD卡或挂载U盘路径,可以通过下面方法获取内置sd卡路径Environment.getEx
- 简单工厂模式介绍:概要:简单工厂模式,又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模
- 对于 * ,学过AOP的应该都不会陌生,因为代理是实现AOP功能的核心和关键技术。那么今天我们将开始 * 的学习:一、引出 * 生活中
- 本文实例讲述了C#异步执行任务的方法。分享给大家供大家参考。具体如下:// 异步执行耗时任务(适合不需要等它的执行结果的场景,如发邮件、发短
- JAVA IDEA 打开assert 设置概念(此处为借鉴前辈们的讲解)断言(Assertion)是Java中一条语句,包含一个布尔表达式,
- 本文分享的示例代码实现提取2个集合中相同和不同的元素此处需要使用Collection集合所提供的一个方法:removeAll(Cellect
- Spring Boot简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开
- 目录前言1、饿汉式(线程安全)⭐2、懒汉式(线程不安全)⭐3、懒汉式(加锁)4、懒汉式(双重校验锁)⭐5、单例模式(静态内部类)6、单例模式