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

Java Swing JSlider滑塊的實現(xiàn)示例

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

1. 概述

官方JavaDocsApi: javax.swing.JSlider

JSlider,滑塊。

以圖形方式在有界區(qū)間內(nèi)通過移動滑塊來選擇值的組件。

滑塊可以顯示主刻度標(biāo)記以及主刻度之間的次刻度標(biāo)記??潭葮?biāo)記之間的值的個數(shù)由 setMajorTickSpacing(int) 和 setMinorTickSpacing(int) 來控制??潭葮?biāo)記的繪制由 setPaintTicks(boolean) 控制。

滑塊也可以在固定時間間隔(或在任意位置)沿滑塊刻度打印文本標(biāo)簽。標(biāo)簽的繪制由 setLabelTable(Dictionary) 和 setPaintLabels(boolean) 控制。

PS: 當(dāng)滑塊獲得焦點后,按鍵盤上的 上下左右鍵 也可以滑動滑塊。

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

/**
 * 參數(shù)說明:
 *   orientation: 滑塊的方向,SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL,默認(rèn)為水平方向
 *   min: 滑塊的最小值
 *   max: 滑塊的最大值
 *   value: 滑塊的初始值(默認(rèn)為 最小值 和 最大值 之間的 中間值)
 */
JSlider()

JSlider(int orientation)  // 默認(rèn)的最小值、最大值、初始值值 分別為 0, 100, 50

JSlider(int min, int max)  // 默認(rèn)初始值為 min 和 max 之間的 中間值

JSlider(int min, int max, int value)

JSlider(int orientation, int min, int max, int value)

JSlider 常用方法:

// 設(shè)置滑塊的 最小值、最大值、當(dāng)前值
void setMinimum(int min)
void setMaximum(int max)
void setValue(int n)

// 獲取滑塊的當(dāng)前值
int getValue()

// 設(shè)置 主刻度標(biāo)記間隔
void setMajorTickSpacing(int n)
// 設(shè)置單個主刻度內(nèi)的 次刻度標(biāo)記間隔
void setMinorTickSpacing(int n)

// 設(shè)置是否繪制 刻度線
void setPaintTicks(boolean b)
// 設(shè)置是否繪制 刻度標(biāo)簽(刻度值文本)
void setPaintLabels(boolean b)
// 設(shè)置是否繪制 滑道
void setPaintTrack(boolean b)

// 設(shè)置滑塊的方向,SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL
void setOrientation(int orientation)

// 設(shè)置是否顛倒刻度值(刻度值從大到?。?
void setInverted(boolean b)

// 設(shè)置滑塊是否對齊到刻度。設(shè)置為 true,則滑塊最終只能在有刻度的位置取值,即滑塊取值不連續(xù)。
void setSnapToTicks(boolean b)

// 用于指定將在 給定值處 繪制 對應(yīng)的標(biāo)簽 來替代刻度數(shù)值文本的顯示
void setLabelTable(Dictionary<Integer, JComponent> labels)

// 添加滑塊的值改變監(jiān)聽器
void addChangeListener(ChangeListener l)

2. 代碼實例: 默認(rè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)建一個滑塊,最小值、最大值、初始值 分別為 0、20、10
    final JSlider slider = new JSlider(0, 20, 10);

    // 設(shè)置主刻度間隔
    slider.setMajorTickSpacing(5);

    // 設(shè)置次刻度間隔
    slider.setMinorTickSpacing(1);

    // 繪制 刻度 和 標(biāo)簽
    slider.setPaintTicks(true);
    slider.setPaintLabels(true);

    // 添加刻度改變監(jiān)聽器
    slider.addChangeListener(new ChangeListener() {
      @Override
      public void stateChanged(ChangeEvent e) {
        System.out.println("當(dāng)前值: " + slider.getValue());
      }
    });

    // 添加滑塊到內(nèi)容面板
    panel.add(slider);

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

  }
}

結(jié)果展示:

3. 代碼實例: 自定義標(biāo)簽刻度值

package com.xiets.swing;

import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.util.Hashtable;

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)建一個滑塊,最小值、最大值、初始值 分別為 0、20、10
    final JSlider slider = new JSlider(0, 20, 10);

    // 設(shè)置主刻度間隔
    slider.setMajorTickSpacing(5);

    // 設(shè)置次刻度間隔
    slider.setMinorTickSpacing(1);

    // 繪制 刻度 和 標(biāo)簽
    slider.setPaintTicks(true);
    slider.setPaintLabels(true);

    /*
     * 設(shè)置滑塊方向為垂直方向
     */
    slider.setOrientation(SwingConstants.VERTICAL);

    /*
     * 給指定的刻度值顯示自定義標(biāo)簽
     */
    Hashtable<Integer, JComponent> hashtable = new Hashtable<Integer, JComponent>();
    hashtable.put(0, new JLabel("Start"));   // 0 刻度位置,顯示 "Start"
    hashtable.put(10, new JLabel("Middle"));  // 10 刻度位置,顯示 "Middle"
    hashtable.put(20, new JLabel("End"));    // 20 刻度位置,顯示 "End"

    /*
     * 將刻度值和自定義標(biāo)簽的對應(yīng)關(guān)系設(shè)置到滑塊(設(shè)置后不再顯示默認(rèn)的刻度值)
     */
    slider.setLabelTable(hashtable);

    // 添加刻度改變監(jiān)聽器
    slider.addChangeListener(new ChangeListener() {
      @Override
      public void stateChanged(ChangeEvent e) {
        System.out.println("當(dāng)前值: " + slider.getValue());
      }
    });

    // 添加滑塊到內(nèi)容面板
    panel.add(slider);

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

  }

}

結(jié)果展示:

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

相關(guān)文章

  • 謹(jǐn)慎使用Java8的默認(rèn)方法

    謹(jǐn)慎使用Java8的默認(rèn)方法

    為什么要謹(jǐn)慎使用Java8的默認(rèn)方法?本文給出了為什么要慎用Java8默認(rèn)方法的原因,解釋的很詳細(xì),感興趣的朋友可以參考一下
    2016-01-01
  • 探討如何在Eclipse中過濾版本控制文件.svn

    探討如何在Eclipse中過濾版本控制文件.svn

    本篇文章是對在Eclipse中過濾版本控制文件.svn的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-07-07
  • 深入理解Java原生的序列化機(jī)制

    深入理解Java原生的序列化機(jī)制

    Java 提供了一種對象序列化的機(jī)制,該機(jī)制中,一個對象可以被表示為一個字節(jié)序列,該字節(jié)序列包括該對象的數(shù)據(jù)、有關(guān)對象的類型的信息和存儲在對象中數(shù)據(jù)的類型。下面小編和大家來一起學(xué)習(xí)一下吧
    2019-06-06
  • SpringBoot集成tika實現(xiàn)word轉(zhuǎn)html的操作代碼

    SpringBoot集成tika實現(xiàn)word轉(zhuǎn)html的操作代碼

    Tika是一個內(nèi)容分析工具,自帶全面的parser工具類,能解析基本所有常見格式的文件,得到文件的metadata,content等內(nèi)容,返回格式化信息,本文給大家介紹了SpringBoot集成tika實現(xiàn)word轉(zhuǎn)html的操作,需要的朋友可以參考下
    2024-06-06
  • 深入理解java線程通信

    深入理解java線程通信

    開發(fā)中不免會遇到需要所有子線程執(zhí)行完畢通知主線程處理某些邏輯的場景?;蛘呤蔷€程 A 在執(zhí)行到某個條件通知線程 B 執(zhí)行某個操作。下面我們來一起學(xué)習(xí)如何解決吧
    2019-05-05
  • Java中的DelayQueue源碼解析

    Java中的DelayQueue源碼解析

    這篇文章主要介紹了Java中的DelayQueue源碼解析,一個實現(xiàn)PriorityBlockingQueue實現(xiàn)延遲獲取的無界隊列,在創(chuàng)建元素時,可以指定多久才能從隊列中獲取當(dāng)前元素,只有延時期滿后才能從隊列中獲取元素,需要的朋友可以參考下
    2023-12-12
  • springboot 使用自定義的aspect的示例代碼

    springboot 使用自定義的aspect的示例代碼

    這篇文章主要介紹了springboot 使用自定義的aspect的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Java日常練習(xí)題,每天進(jìn)步一點點(22)

    Java日常練習(xí)題,每天進(jìn)步一點點(22)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • SpringMVC如何配置JSP視圖解析器

    SpringMVC如何配置JSP視圖解析器

    這篇文章主要介紹了SpringMVC如何配置JSP視圖解析器問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • JAVA讀取屬性文件的幾種方法總結(jié)

    JAVA讀取屬性文件的幾種方法總結(jié)

    以下是對在JAVA中讀取屬性文件的幾種方法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-10-10

最新評論

房山区| 海城市| 临洮县| 陆川县| 新泰市| 当涂县| 北宁市| 佛教| 湘西| 土默特右旗| 石门县| 偃师市| 梅河口市| 大新县| 北川| 江山市| 乌拉特后旗| 湖口县| 都江堰市| 西峡县| 城步| 陇南市| 石首市| 永兴县| 福鼎市| 资源县| 邵武市| 大英县| 英超| 碌曲县| 旺苍县| 句容市| 武鸣县| 名山县| 新晃| 乐亭县| 嘉兴市| 明星| 房山区| 密山市| 松原市|