Java Swing JButton按鈕的實(shí)現(xiàn)示例
1. 概述
官方JavaDocsApi: javax.swing.JButton
JButton,按鈕。
JButton 常用構(gòu)造方法:
// 創(chuàng)建不帶有設(shè)置文本或圖標(biāo)的按鈕 JButton() // 創(chuàng)建一個(gè)帶文本的按鈕 JButton(String text) // 創(chuàng)建一個(gè)帶圖標(biāo)的按鈕 JButton(Icon icon)
JButton 常用方法:
// 設(shè)置按鈕的 文本、字體 和 字體顏色 void setText(String text) void setFont(Font font) void setForeground(Color fg) /* 以下方法定義在 javax.swing.AbstractButton 基類中 */ // 設(shè)置按鈕是否可用 void setEnabled(boolean enable) // 設(shè)置按鈕在 默認(rèn)、按下、不可用 時(shí)顯示的圖片 void setIcon(Icon defaultIcon) void setPressedIcon(Icon pressedIcon) void setDisabledIcon(Icon disabledIcon) // 是否繪制邊框(設(shè)置不繪制邊框,再結(jié)合上面三個(gè)設(shè)置按鈕狀態(tài)圖片的方法,可實(shí)現(xiàn)自定義按鈕) void setBorderPainted(boolean b);
JButton 常用監(jiān)聽(tīng)器:
// 添加 和 移除 按鈕的點(diǎn)擊事件 void addActionListener(ActionListener listener) void removeActionListener(ActionListener listener)
2. 代碼實(shí)例: 默認(rèn)按鈕
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("測(cè)試窗口");
jf.setSize(200, 200);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
// 創(chuàng)建一個(gè)按鈕
final JButton btn = new JButton("測(cè)試按鈕");
// 添加按鈕的點(diǎn)擊事件監(jiān)聽(tīng)器
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 獲取到的事件源就是按鈕本身
// JButton btn = (JButton) e.getSource();
System.out.println("按鈕被點(diǎn)擊");
}
});
panel.add(btn);
jf.setContentPane(panel);
jf.setVisible(true);
}
}
結(jié)果展示:

點(diǎn)擊按鈕,查看控制臺(tái)輸出。
3. 代碼實(shí)例: 自定義圖片按鈕
使用以下兩張圖片分別表示按鈕 正常顯示 和 被按下時(shí) 顯示 的圖片:

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("測(cè)試窗口");
jf.setSize(200, 200);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
final JButton btn = new JButton();
// 設(shè)置按鈕的默認(rèn)圖片
btn.setIcon(new ImageIcon("button_normal.png"));
// 設(shè)置按鈕被點(diǎn)擊時(shí)的圖片
btn.setPressedIcon(new ImageIcon("button_press.png"));
// 不繪制邊框
btn.setBorderPainted(false);
// 添加按鈕點(diǎn)擊事件監(jiān)聽(tīng)器
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("按鈕被點(diǎn)擊了");
}
});
panel.add(btn);
jf.setContentPane(panel);
jf.setVisible(true);
}
}
結(jié)果展示:

點(diǎn)擊按鈕,查看控制臺(tái)輸出。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
MybatisPlus實(shí)現(xiàn)分頁(yè)查詢和動(dòng)態(tài)SQL查詢的示例代碼
本文主要介紹了MybatisPlus實(shí)現(xiàn)分頁(yè)查詢和動(dòng)態(tài)SQL查詢的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
Java Serializable和Parcelable詳解及實(shí)例代碼
這篇文章主要介紹了Java Serializable和Parcelable詳解,并附實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-09-09
MyBatis綁定錯(cuò)誤提示BindingException:Invalid bound statement (not f
這篇文章主要介紹了MyBatis綁定錯(cuò)誤提示BindingException:Invalid bound statement (not found)的解決辦法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-01-01
SpringBoot詳解如果通過(guò)@Value注解給靜態(tài)變量注入值
這篇文章主要介紹了springboot如何通過(guò)@Value給靜態(tài)變量注入值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
最新springboot中必須要了解的自動(dòng)裝配原理
本文給大家介紹springboot中必須要了解的自動(dòng)裝配原理,spring-boot-dependencies:核心依賴都在父工程中,這個(gè)里面主要是管理項(xiàng)目的資源過(guò)濾及插件,本文對(duì)springboot自動(dòng)裝配原理給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-05-05
springboot下mybatis-plus開(kāi)啟打印sql日志的配置指南
這篇文章主要給大家介紹了關(guān)于springboot下mybatis-plus開(kāi)啟打印sql日志的配置指南的相關(guān)資料,還介紹了關(guān)閉打印的方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03
如何基于java語(yǔ)言實(shí)現(xiàn)八皇后問(wèn)題
這篇文章主要介紹了如何基于java語(yǔ)言實(shí)現(xiàn)八皇后問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12

