最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1. 概述

官方JavaDocsApi: javax.swing.JToggleButton

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

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 基類中 */

// 設置開關按鈕是否選中狀態(tài)
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 常用監(jiān)聽器:

// 添加狀態(tài)改變監(jiān)聽器
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();

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

  // 添加 toggleBtn 的狀態(tài)被改變的監(jiān)聽
  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. 代碼實例: 自定義圖片開關

使用下面兩個圖片分別代表開關按鈕的 選中(開) 和 未選中(關) 狀態(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)建開關按鈕
    JToggleButton toggleBtn = new JToggleButton();

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

    // 設置 選中(開) 和 未選中(關) 時顯示的圖片
    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) {
        // 獲取事件源(即開關按鈕本身)
        JToggleButton toggleBtn = (JToggleButton) e.getSource();
        System.out.println(toggleBtn.getText() + " 是否選中: " + toggleBtn.isSelected());
      }
    });

    panel.add(toggleBtn);

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

}

運行代碼,點擊開關按鈕,查看控制臺輸出。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • JAVA設計模式之組合模式原理與用法詳解

    JAVA設計模式之組合模式原理與用法詳解

    這篇文章主要介紹了JAVA設計模式之組合模式,簡單說明了組合模式的原理,并結合實例分析了java組合模式的具體用法,需要的朋友可以參考下
    2017-08-08
  • 淺談java web中常用對象對應的實例化接口

    淺談java web中常用對象對應的實例化接口

    下面小編就為大家?guī)硪黄獪\談java web中常用對象對應的實例化接口。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 解決SpringBoot返回結果如果為null或空值不顯示處理問題

    解決SpringBoot返回結果如果為null或空值不顯示處理問題

    這篇文章主要介紹了解決SpringBoot返回結果如果為null或空值不顯示處理問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SpringBoot集成easy-rules規(guī)則引擎流程詳解

    SpringBoot集成easy-rules規(guī)則引擎流程詳解

    這篇文章主要介紹了SpringBoot集成easy-rules規(guī)則引擎流程,合理的使用規(guī)則引擎可以極大的減少代碼復雜度,提升代碼可維護性。業(yè)界知名的開源規(guī)則引擎有Drools,功能豐富,但也比較龐大
    2023-03-03
  • Springboot啟用多個監(jiān)聽端口代碼實例

    Springboot啟用多個監(jiān)聽端口代碼實例

    這篇文章主要介紹了Springboot啟用多個監(jiān)聽端口代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • 微信java開發(fā)之實現(xiàn)微信主動推送消息

    微信java開發(fā)之實現(xiàn)微信主動推送消息

    這篇文章主要介紹了微信開發(fā)過程中的使用java實現(xiàn)微信主動推送消息示例,需要的朋友可以參考下
    2014-03-03
  • Java實現(xiàn)去重的方法詳解

    Java實現(xiàn)去重的方法詳解

    austin支持兩種去重的類型:N分鐘相同內容達到N次去重和一天內N次相同渠道頻次去重,這篇文章就來和大家講講這兩種去重的具體實現(xiàn),需要的可以參考一下
    2023-06-06
  • SpringBoot解決jar包沖突的問題,簡單有效

    SpringBoot解決jar包沖突的問題,簡單有效

    這篇文章主要介紹了SpringBoot解決jar包沖突的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java 中的變量類型

    Java 中的變量類型

    這篇文章主要介紹了Java 中的變量類型,一般包括局部變量、成員變量、類變量,下面文章對這三種內容的變量做了一個詳細介紹,需要的朋友可以參考一下
    2021-11-11
  • Springboot Activemq整合過程代碼圖解

    Springboot Activemq整合過程代碼圖解

    這篇文章主要介紹了Springboot Activemq整合過程代碼圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02

最新評論

壶关县| 成都市| 绥江县| 水富县| 泰宁县| 体育| 许昌县| 绥化市| 合阳县| 屏东市| 上杭县| 南乐县| 兰州市| 乌拉特前旗| 稻城县| 陵川县| 广丰县| 临沂市| 太康县| 遂平县| 芦溪县| 保山市| 镇巴县| 通辽市| 嘉定区| 霞浦县| 屏南县| 莎车县| 罗山县| 淮安市| 和硕县| 乐都县| 高尔夫| 平乐县| 会理县| 连云港市| 汉阴县| 五原县| 忻城县| 宣武区| 万山特区|