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)聽器:
// 添加 和 移除 按鈕的點(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)聽器
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)聽器
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)文章
java解析php函數(shù)json_encode unicode 編碼問題
這篇文章主要介紹了java解析php函數(shù)json_encode unicode 編碼問題,需要的朋友可以參考下2016-04-04
詳解Java的堆內(nèi)存與棧內(nèi)存的存儲(chǔ)機(jī)制
這篇文章主要介紹了Java的堆內(nèi)存與棧內(nèi)存的存儲(chǔ)機(jī)制,包括JVM的內(nèi)存優(yōu)化和GC等相關(guān)方面內(nèi)容,需要的朋友可以參考下2016-01-01
SpringMVC上傳文件的三種實(shí)現(xiàn)方式
本篇文章主要介紹了SpringMVC上傳文件的三種實(shí)現(xiàn)方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12
Java中將多個(gè)PDF文件合并為一個(gè)PDF的方法步驟
這篇文章主要給大家介紹了關(guān)于Java中將多個(gè)PDF文件合并為一個(gè)PDF的方法步驟, Java PDF合并是指將多個(gè)PDF文件合并成一個(gè)PDF文件的過程,需要的朋友可以參考下2023-09-09
spring中bean id相同引發(fā)故障的分析與解決
最近在工作中遇到了關(guān)于bean id相同引發(fā)故障的問題,通過查找相關(guān)資料終于解決了,下面這篇文章主要給大家介紹了因?yàn)閟pring中bean id相同引發(fā)故障的分析與解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09

