欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java Swing JToggleButton開關(guān)按鈕的實現(xiàn)

 更新時間:2019年12月09日 10:13:52   作者:xietansheng  
這篇文章主要介紹了Java Swing JToggleButton開關(guān)按鈕的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. 概述

官方JavaDocsApi: javax.swing.JToggleButton

JToggleButton,開關(guān)按鈕。JToggleButton 是 JRadioButton, JCheckBox 的父類,主要實現(xiàn)一個按鈕的兩種狀態(tài)(選中 和 未選中)來實現(xiàn)開關(guān)切換的效果。

JToggleButton 常用構(gòu)造方法:

// 無文本,默認未選中
JToggleButton()

// 有文本,默認未選中
JToggleButton(String text)

// 有文本,并指定是否選中
JToggleButton(String text, boolean selected)

JToggleButton 常用方法:

// 設(shè)置開關(guān)按鈕的 文本、字體 和 字體顏色
void setText(String text)
void setFont(Font font)
void setForeground(Color fg)

/* 以下方法定義在 javax.swing.AbstractButton 基類中 */

// 設(shè)置開關(guān)按鈕是否選中狀態(tài)
void setSelected(boolean b)

// 判斷開關(guān)按鈕是否選中
boolean isSelected()

// 設(shè)置開關(guān)按鈕是否可用
void setEnabled(boolean enable)

// 設(shè)置開關(guān)按鈕在 默認(關(guān))、被選中(開)、不可用 時顯示的圖片
void setIcon(Icon defaultIcon)
void setPressedIcon(Icon pressedIcon)
void setDisabledIcon(Icon disabledIcon)

// 設(shè)置圖片和文本之間的間距
void setIconTextGap(int iconTextGap)

JToggleButton 常用監(jiān)聽器:

// 添加狀態(tài)改變監(jiān)聽器
void addChangeListener(ChangeListener l)

2. 代碼實例: 默認的開關(guān)按鈕

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();

  // 創(chuàng)建開關(guān)按鈕
  JToggleButton toggleBtn = new JToggleButton("開關(guān)按鈕");

  // 添加 toggleBtn 的狀態(tài)被改變的監(jiān)聽
  toggleBtn.addChangeListener(new ChangeListener() {
   @Override
   public void stateChanged(ChangeEvent e) {
    // 獲取事件源(即開關(guān)按鈕本身)
    JToggleButton toggleBtn = (JToggleButton) e.getSource();
    System.out.println(toggleBtn.getText() + " 是否選中: " + toggleBtn.isSelected());
   }
  });

  panel.add(toggleBtn);

  jf.setContentPane(panel);
  jf.setVisible(true);
 }

}

結(jié)果展示:

運行代碼,點擊開關(guān)按鈕,查看控制臺輸出。

3. 代碼實例: 自定義圖片開關(guān)

使用下面兩個圖片分別代表開關(guān)按鈕的 選中(開) 和 未選中(關(guān)) 狀態(tài),分別命名為: 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();

    // 創(chuàng)建開關(guān)按鈕
    JToggleButton toggleBtn = new JToggleButton();

    // 首先設(shè)置不繪制按鈕邊框
    toggleBtn.setBorderPainted(false);

    // 設(shè)置 選中(開) 和 未選中(關(guān)) 時顯示的圖片
    toggleBtn.setSelectedIcon(new ImageIcon("toggle_on.png"));
    toggleBtn.setIcon(new ImageIcon("toggle_off.png"));

    // 添加 toggleBtn 的狀態(tài)被改變的監(jiān)聽
    toggleBtn.addChangeListener(new ChangeListener() {
      @Override
      public void stateChanged(ChangeEvent e) {
        // 獲取事件源(即開關(guān)按鈕本身)
        JToggleButton toggleBtn = (JToggleButton) e.getSource();
        System.out.println(toggleBtn.getText() + " 是否選中: " + toggleBtn.isSelected());
      }
    });

    panel.add(toggleBtn);

    jf.setContentPane(panel);
    jf.setVisible(true);
  }

}

運行代碼,點擊開關(guān)按鈕,查看控制臺輸出。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java幾種常用的斷言風(fēng)格你怎么選

    Java幾種常用的斷言風(fēng)格你怎么選

    這篇文章主要介紹了Java幾種常用的斷言風(fēng)格你怎么選,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Spring集成Web環(huán)境的實例詳解

    Spring集成Web環(huán)境的實例詳解

    這篇文章主要介紹了Spring集成Web環(huán)境,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • 利用Mybatis?Plus實現(xiàn)一個SQL攔截器

    利用Mybatis?Plus實現(xiàn)一個SQL攔截器

    SQL攔截器是一種用于攔截和修改Mybatis執(zhí)行的SQL語句的工具,通過使用SQL攔截器,開發(fā)人員可以在執(zhí)行SQL語句之前或之后對其進行修改或記錄,本文就來借助一下Mybatis-Plus實現(xiàn)一個SQL攔截器吧
    2023-05-05
  • JVM類加載器之ClassLoader的使用詳解

    JVM類加載器之ClassLoader的使用詳解

    類加載器負責(zé)讀取Java字節(jié)代碼,并轉(zhuǎn)換成java.lang.Class類的一個實例的代碼模塊。本文主要和大家聊聊JVM類加載器ClassLoader的使用,需要的可以了解一下
    2022-10-10
  • JAVA Frame 窗體背景圖片,首位相接滾動代碼實例

    JAVA Frame 窗體背景圖片,首位相接滾動代碼實例

    這篇文章主要介紹了JAVA Frame 窗體背景圖片,首位相接滾動代碼示例,需要的朋友可以參考下復(fù)制代碼
    2017-04-04
  • SpringSecurity的防Csrf攻擊實現(xiàn)代碼解析

    SpringSecurity的防Csrf攻擊實現(xiàn)代碼解析

    這篇文章主要介紹了SpringSecurity的防Csrf攻擊實現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 詳解Java實現(xiàn)多種方式的http數(shù)據(jù)抓取

    詳解Java實現(xiàn)多種方式的http數(shù)據(jù)抓取

    本篇文章主要介紹了Java實現(xiàn)多種方式的http數(shù)據(jù)抓取,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧。
    2016-12-12
  • Java使用FilenameFilter查找出目錄下指定后綴的文件示例

    Java使用FilenameFilter查找出目錄下指定后綴的文件示例

    這篇文章主要介紹了Java使用FilenameFilter查找出目錄下指定后綴的文件,結(jié)合實例形式分析了java基于FilenameFilter類的文件遍歷、查找相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • java實現(xiàn)靜默加載Class示例代碼

    java實現(xiàn)靜默加載Class示例代碼

    這篇文章主要給大家介紹了關(guān)于java實現(xiàn)靜默加載Class的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • 詳解java中的阻塞隊列

    詳解java中的阻塞隊列

    這篇文章主要介紹了java中的阻塞隊列的相關(guān)知識,文中代碼非常詳細,供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06

最新評論