1. 概述
成都創新互聯公司專注于汕尾網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供汕尾營銷型網站建設,汕尾網站制作、汕尾網頁設計、汕尾網站官網定制、微信小程序定制開發服務,打造汕尾網絡公司原創品牌,更為您提供汕尾網站排名全網營銷落地服務。
官方JavaDocsApi: javax.swing.JToggleButton
JToggleButton,開關按鈕。JToggleButton 是 JRadioButton, JCheckBox 的父類,主要實現一個按鈕的兩種狀態(選中 和 未選中)來實現開關切換的效果。
JToggleButton 常用構造方法:
// 無文本,默認未選中 JToggleButton() // 有文本,默認未選中 JToggleButton(String text) // 有文本,并指定是否選中 JToggleButton(String text, boolean selected)
JToggleButton 常用方法:
// 設置開關按鈕的 文本、字體 和 字體顏色 void setText(String text) void setFont(Font font) void setForeground(Color fg) /* 以下方法定義在 javax.swing.AbstractButton 基類中 */ // 設置開關按鈕是否選中狀態 void setSelected(boolean b) // 判斷開關按鈕是否選中 boolean isSelected() // 設置開關按鈕是否可用 void setEnabled(boolean enable) // 設置開關按鈕在 默認(關)、被選中(開)、不可用 時顯示的圖片 void setIcon(Icon defaultIcon) void setPressedIcon(Icon pressedIcon) void setDisabledIcon(Icon disabledIcon) // 設置圖片和文本之間的間距 void setIconTextGap(int iconTextGap)
JToggleButton 常用監聽器:
// 添加狀態改變監聽器 void addChangeListener(ChangeListener l)
2. 代碼實例: 默認的開關按鈕
package com.xiets.swing;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class Main {
public static void main(String[] args) {
JFrame jf = new JFrame("測試窗口");
jf.setSize(250, 250);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
// 創建開關按鈕
JToggleButton toggleBtn = new JToggleButton("開關按鈕");
// 添加 toggleBtn 的狀態被改變的監聽
toggleBtn.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
// 獲取事件源(即開關按鈕本身)
JToggleButton toggleBtn = (JToggleButton) e.getSource();
System.out.println(toggleBtn.getText() + " 是否選中: " + toggleBtn.isSelected());
}
});
panel.add(toggleBtn);
jf.setContentPane(panel);
jf.setVisible(true);
}
}
結果展示:

運行代碼,點擊開關按鈕,查看控制臺輸出。
3. 代碼實例: 自定義圖片開關
使用下面兩個圖片分別代表開關按鈕的 選中(開) 和 未選中(關) 狀態,分別命名為: toggle_on.png,toggle_off.png:

package com.xiets.swing;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class Main {
public static void main(String[] args) {
JFrame jf = new JFrame("測試窗口");
jf.setSize(250, 250);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
// 創建開關按鈕
JToggleButton toggleBtn = new JToggleButton();
// 首先設置不繪制按鈕邊框
toggleBtn.setBorderPainted(false);
// 設置 選中(開) 和 未選中(關) 時顯示的圖片
toggleBtn.setSelectedIcon(new ImageIcon("toggle_on.png"));
toggleBtn.setIcon(new ImageIcon("toggle_off.png"));
// 添加 toggleBtn 的狀態被改變的監聽
toggleBtn.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
// 獲取事件源(即開關按鈕本身)
JToggleButton toggleBtn = (JToggleButton) e.getSource();
System.out.println(toggleBtn.getText() + " 是否選中: " + toggleBtn.isSelected());
}
});
panel.add(toggleBtn);
jf.setContentPane(panel);
jf.setVisible(true);
}
}

運行代碼,點擊開關按鈕,查看控制臺輸出。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創新互聯。
文章標題:JavaSwingJToggleButton開關按鈕的實現
網頁地址:http://www.yijiale78.com/article6/jcsjig.html
成都網站建設公司_創新互聯,為您提供微信小程序、定制網站、企業建站、動態網站、外貿網站建設、
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯