亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

1. 概述

官方JavaDocsApi: javax.swing.JSlider

JSlider,滑塊。

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

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

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

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

JSlider 常用構造方法:

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

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

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

JSlider(int min, int max, int value)

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

JSlider 常用方法:

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

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

// 設置 主刻度標記間隔
void setMajorTickSpacing(int n)
// 設置單個主刻度內的 次刻度標記間隔
void setMinorTickSpacing(int n)

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

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

// 設置是否顛倒刻度值(刻度值從大到小)
void setInverted(boolean b)

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

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

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

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

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

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

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

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

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

  }
}

結果展示:

3. 代碼實例: 自定義標簽刻度值

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

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

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

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

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

    /*
     * 給指定的刻度值顯示自定義標簽
     */
    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"

    /*
     * 將刻度值和自定義標簽的對應關系設置到滑塊(設置后不再顯示默認的刻度值)
     */
    slider.setLabelTable(hashtable);

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

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

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

  }

}

結果展示:

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

相關文章

  • Java 實現(xiàn)貪吃蛇游戲的示例

    Java 實現(xiàn)貪吃蛇游戲的示例

    這篇文章主要介紹了Java 如何實現(xiàn)貪吃蛇游戲,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下
    2021-03-03
  • java包本質及命名規(guī)范詳解

    java包本質及命名規(guī)范詳解

    這篇文章主要介紹了java包本質及命名規(guī)范,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • SpringBoot @Autowired注解注入規(guī)則介紹

    SpringBoot @Autowired注解注入規(guī)則介紹

    這篇文章主要介紹了SpringBoot @Autowired注解注入規(guī)則介紹,具有很好的參考價值,希望對大家有所幫助。
    2021-11-11
  • SpringBoot+MyBatisPlus對Map中Date格式轉換處理的方法詳解

    SpringBoot+MyBatisPlus對Map中Date格式轉換處理的方法詳解

    在?SpringBoot?項目中,?如何統(tǒng)一?JSON?格式化中的日期格式。本文將為大家介紹一種方法:利用MyBatisPlus實現(xiàn)對Map中Date格式轉換處理,需要的可以參考一下
    2022-10-10
  • servlet實現(xiàn)用戶登錄小程序

    servlet實現(xiàn)用戶登錄小程序

    這篇文章主要為大家詳細介紹了servlet實現(xiàn)用戶登錄的小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • SpringBoot+Spring Security+JWT實現(xiàn)RESTful Api權限控制的方法

    SpringBoot+Spring Security+JWT實現(xiàn)RESTful Api權限控制的方法

    這篇文章主要介紹了SpringBoot+Spring Security+JWT實現(xiàn)RESTful Api權限控制的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Mybatis-Plus根據(jù)自定義注解實現(xiàn)自動加解密的示例代碼

    Mybatis-Plus根據(jù)自定義注解實現(xiàn)自動加解密的示例代碼

    我們把數(shù)據(jù)存到數(shù)據(jù)庫的時候,有些敏感字段是需要加密的,從數(shù)據(jù)庫查出來再進行解密,如果我們使用的是Mybatis框架,那就跟著一起探索下如何使用框架的攔截器功能實現(xiàn)自動加解密吧,需要的朋友可以參考下
    2024-06-06
  • JPA框架實現(xiàn)分頁查詢和條件查詢功能詳解

    JPA框架實現(xiàn)分頁查詢和條件查詢功能詳解

    這篇文章主要介紹了JPA框架實現(xiàn)分頁查詢和條件查詢功能,JPA是Java Persistence API的簡稱,在過去很多數(shù)據(jù)庫的增刪查改操作都是用這個框架操作的,感興趣想要詳細了解可以參考下文
    2023-05-05
  • java字符串遍歷的幾種常用方法總結

    java字符串遍歷的幾種常用方法總結

    Java字符串是一系列的Unicode字符序列,但是它卻常常被誤認為是char序列,這篇文章主要給大家介紹了關于java字符串遍歷的幾種常用方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • Netty中的心跳檢測機制詳解

    Netty中的心跳檢測機制詳解

    這篇文章主要介紹了Netty中的心跳檢測機制詳解,Netty 是 基于 TCP 協(xié)議開發(fā)的,在四層協(xié)議 TCP 協(xié)議的實現(xiàn)中也提供了 keepalive 報文用來探測對端是否可用,TCP 層將在定時時間到后發(fā)送相應的 KeepAlive 探針以確定連接可用性,需要的朋友可以參考下
    2023-12-12

最新評論