
- Swing 教程
- Swing - 首頁
- Swing - 概述
- Swing - 環境
- Swing - 控制元件
- Swing - 事件處理
- Swing - 事件類
- Swing - 事件監聽器
- Swing - 事件介面卡
- Swing - 佈局
- Swing - 選單
- Swing - 容器
- Swing 有用資源
- Swing - 快速指南
- Swing - 有用資源
- Swing - 討論
Swing - JSlider 類
介紹
JSlider 類是一個元件,允許使用者透過在一個有界區間內滑動滑塊來圖形化地選擇一個值。
類宣告
以下是javax.swing.JSlider類的宣告:
public class JSlider extends JComponent implements SwingConstants, Accessible
欄位
以下是javax.swing.JSlider類的欄位:
protected ChangeEvent changeEvent - 每個滑塊例項只需要一個 ChangeEvent,因為事件的唯一(只讀)狀態是源屬性。
protected ChangeListener changeListener - changeListener(無後綴)是我們新增到滑塊模型的監聽器。
protected int majorTickSpacing - 主要刻度標記之間的值數量——將次要刻度標記分開的較大標記。
protected int minorTickSpacing - 次要刻度標記之間的值數量——出現在主要刻度標記之間的較小標記。
protected int orientation - 滑塊是水平的還是垂直的,預設為水平。
protected BoundedRangeModel sliderModel - 處理滑塊的數值最大值、最小值和當前位置值的資料模型。
protected boolean snapToTicks - 如果為 true,則旋鈕(及其表示的資料值)將解析為使用者定位旋鈕旁邊的最近的刻度標記。
類建構函式
序號 | 建構函式和描述 |
---|---|
1 |
JSlider() 建立一個範圍為 0 到 100、初始值為 50 的水平滑塊。 |
2 |
JSlider(BoundedRangeModel brm) 使用指定的 BoundedRangeModel 建立一個水平滑塊。 |
3 |
JSlider(int orientation) 使用指定的方位建立範圍為 0 到 100、初始值為 50 的滑塊。 |
4 |
JSlider(int min, int max) 使用指定的最小值和最大值建立一個水平滑塊,初始值等於最小值加最大值的平均值。 |
5 |
JSlider(int min, int max, int value) 使用指定的最小值、最大值和值建立一個水平滑塊。 |
6 |
JSlider(int orientation, int min, int max, int value) 使用指定的方位和指定的最小值、最大值和初始值建立一個滑塊。 |
類方法
序號 | 方法和描述 |
---|---|
1 |
void addChangeListener(ChangeListener l) 向滑塊新增 ChangeListener。 |
2 |
protected ChangeListener createChangeListener() 想要以不同方式處理模型中的 ChangeEvents 的子類可以覆蓋此方法以返回自定義 ChangeListener 實現的例項。 |
3 |
Hashtable createStandardLabels(int increment) 建立一個數值文字標籤的雜湊表,從滑塊最小值開始,並使用指定的增量。 |
4 |
Hashtable createStandardLabels(int increment, int start) 建立一個數值文字標籤的雜湊表,從指定的起始點開始,並使用指定的增量。 |
5 |
protected void fireStateChanged() 向所有已註冊對 ChangeEvents 感興趣的 ChangeListeners 傳送一個 ChangeEvent,其源是此 JSlider。 |
6 |
AccessibleContext getAccessibleContext() 獲取與此 JSlider 關聯的 AccessibleContext。 |
7 |
ChangeListener[] getChangeListeners() 返回使用 addChangeListener() 新增到此 JSlider 的所有 ChangeListeners 的陣列。 |
8 |
int getExtent() 返回 BoundedRangeModel 中的“範圍”。 |
9 |
boolean getInverted() 如果滑塊顯示的值範圍反轉,則返回 true。 |
10 |
Dictionary getLabelTable() 返回要在哪些值處繪製哪些標籤的字典。 |
11 |
int getMajorTickSpacing() 此方法返回主要刻度間距。 |
12 |
int getMaximum() 從 BoundedRangeModel 返回滑塊支援的最大值。 |
13 |
int getMinimum() 從 BoundedRangeModel 返回滑塊支援的最小值。 |
14 |
int getMinorTickSpacing() 此方法返回次要刻度間距。 |
15 |
BoundedRangeModel getModel() 返回處理滑塊三個基本屬性(最小值、最大值、值)的 BoundedRangeModel。 |
16 |
int getOrientation() 返回此滑塊的垂直或水平方向。 |
17 |
boolean getPaintLabels() 指示是否要繪製標籤。 |
18 |
boolean getPaintTicks() 指示是否要繪製刻度標記。 |
19 |
boolean getPaintTrack() 指示是否要繪製軌道(滑塊滑動的區域)。 |
20 |
boolean getSnapToTicks() 如果旋鈕(及其表示的資料值)解析為使用者定位旋鈕旁邊的最近的刻度標記,則返回 true。 |
21 |
SliderUI getUI() 獲取實現此元件的 L&F 的 UI 物件。 |
22 |
String getUIClassID() 返回呈現此元件的 L&F 類的名稱。 |
23 |
int getValue() 從 BoundedRangeModel 返回滑塊的當前值。 |
24 |
boolean getValueIsAdjusting() 返回模型中的 valueIsAdjusting 屬性。 |
25 |
protected String paramString() 返回此 JSlider 的字串表示形式。 |
26 |
void removeChangeListener(ChangeListener l) 從滑塊中移除 ChangeListener。 |
27 |
void setExtent(int extent) 設定旋鈕“覆蓋”的範圍大小。 |
28 |
void setFont(Font font) 設定此元件的字型。 |
29 |
void setInverted(boolean b) 指定 true 以反轉滑塊顯示的值範圍,並指定 false 以按正常順序排列值範圍。 |
30 |
void setLabelTable(Dictionary labels) 用於指定在任何給定值處將繪製哪個標籤。 |
31 |
void setMajorTickSpacing(int n) 此方法設定主要刻度間距。 |
32 |
void setMaximum(int maximum) 將滑塊的最大值設定為 maximum。 |
33 |
void setMinimum(int minimum) 將滑塊的最小值設定為 minimum。 |
34 |
void setMinorTickSpacing(int n) 此方法設定次要刻度間距。 |
35 |
void setModel(BoundedRangeModel newModel) 設定處理滑塊三個基本屬性(最小值、最大值、值)的 BoundedRangeModel。 |
36 |
void setOrientation(int orientation) 將滑塊的方向設定為 SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL。 |
37 |
void setPaintLabels(boolean b) 確定是否在滑塊上繪製標籤。 |
38 |
void setPaintTicks(boolean b) 確定是否在滑塊上繪製刻度標記。 |
39 |
void setPaintTrack(boolean b) 確定是否在滑塊上繪製軌道。 |
40 |
void setSnapToTicks(boolean b) 指定 true 將使旋鈕(及其表示的資料值)解析為使用者定位旋鈕旁邊的最近的刻度標記。 |
41 |
void setUI(SliderUI ui) 設定實現此元件的 L&F 的 UI 物件。 |
42 |
void setValue(int n) 將滑塊的當前值設定為 n。 |
43 |
void setValueIsAdjusting(boolean b) 設定模型的 valueIsAdjusting 屬性。 |
44 |
protected void updateLabelUIs() 透過對每個標籤呼叫 updateUI 來更新標籤表中標籤的 UI。 |
45 |
void updateUI() 將 UI 屬性重置為當前外觀和感覺中的值。 |
繼承的方法
此類繼承自以下類的方法:
- javax.swing.JComponent
- java.awt.Container
- java.awt.Component
- java.lang.Object
JSlider 示例
使用您選擇的任何編輯器(例如在D:/ > SWING > com > tutorialspoint > gui >中)建立以下 Java 程式。
SwingControlDemo.java
package com.tutorialspoint.gui; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class SwingControlDemo { private JFrame mainFrame; private JLabel headerLabel; private JLabel statusLabel; private JPanel controlPanel; public SwingControlDemo(){ prepareGUI(); } public static void main(String[] args){ SwingControlDemo swingControlDemo = new SwingControlDemo(); swingControlDemo.showSliderDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Java Swing Examples"); mainFrame.setSize(400,400); mainFrame.setLayout(new GridLayout(3, 1)); mainFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent windowEvent){ System.exit(0); } }); headerLabel = new JLabel("", JLabel.CENTER); statusLabel = new JLabel("",JLabel.CENTER); statusLabel.setSize(350,100); controlPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); mainFrame.add(headerLabel); mainFrame.add(controlPanel); mainFrame.add(statusLabel); mainFrame.setVisible(true); } private void showSliderDemo(){ headerLabel.setText("Control in action: JSlider"); JSlider slider = new JSlider(JSlider.HORIZONTAL,0,100,10); slider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { statusLabel.setText("Value : " + ((JSlider)e.getSource()).getValue()); } }); controlPanel.add(slider); mainFrame.setVisible(true); } }
使用命令提示符編譯程式。轉到D:/ > SWING並鍵入以下命令。
D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java
如果沒有錯誤發生,則表示編譯成功。使用以下命令執行程式。
D:\SWING>java com.tutorialspoint.gui.SwingControlDemo
驗證以下輸出。
