javascript
15、Java Swing JSlider:滑块组件
在前面的章節(jié)中,我們介紹了 Swing 設(shè)計簡單界面所需的窗口、布局組件以及如何響應(yīng)事件。
Swing 還提供了很多高級組件,如菜單欄、工具欄、文件選擇器、表格以及樹等。使用這些高級組件可以實現(xiàn)更為復雜的布局,也可以使程序界面更加人性化,以提高程序的靈活性。
在學習其他高級組件之前,我們先來介紹一些布局組件,包括滑塊、進度條、計時器、菜單欄和工具欄,本節(jié)我們首先來介紹滑塊。
滑塊
滑塊(JSlider)是一個允許用戶在有限區(qū)間內(nèi)通過移動滑塊來選擇值的組件。JSlider 類的常用構(gòu)造方法如表 1 所示。
JSIider類的常用構(gòu)造方法:
- JSlider()---- 創(chuàng)建一個范圍在 0~100 且初始值為 50 的水平滑塊
- JSlider(BoundedRangeModel brm)---- 使用指定的 BoundedRangeModel 創(chuàng)建一個水平滑塊
- JSlider(int orientation) ----使用指定的方向創(chuàng)建一個滑塊,范圍在 0~100 且初始值為 50
- JSlider(int min,int max)---- 使用指定的最小值和最大值來創(chuàng)建一個水平滑塊,初始值等于最小值加上最大值的平均值
- JSlider(int min,int max,int value) ----用指定的最小值、最大值和初始值創(chuàng)建一個水平滑塊
例如,創(chuàng)建一個最小值為 30,最大值為 120,初始值為 55 的水平滑塊的語句如下所示。
JSIider slider=new JSIider(30,120,55);滑塊可以顯示主刻度標記以及主刻度之間的次刻度標記。
刻度標記之間的值的個數(shù)由 setMajorTickSpacing() 方法和 setMinorTickSpacing() 方法來控制。
刻度標記的繪制由 setPaintTicks() 方法控制。
滑塊也可以在固定時間間隔(或在任意位置)沿滑塊刻度打印文本標簽,標簽的繪制由 setLabelTable() 方法和 setPaintLabels() 方法控制。
JSIider 類常用方法:
- createStandardLabels(int increment)---- 創(chuàng)建一個數(shù)字文本標簽的Hashtable,從滑塊最小值處開始增加,并使用指定的增量
- getLabelTable()---- 返回哪些標簽在哪些刻度繪制的字典
- getMaj orTickSpacing()---- 返回主刻度標記的間隔
- getMaximum() 從 BoundedRangeModel---- 返回滑塊所支持的最大值
- getMinimum() 從 BoundedRangeModel ----返回滑塊所支持的最小值
- getMinorTickSpacing() ----返回次刻度標記的間隔
- getSnapToTicks() 如果滑塊(及其所表示的值)----解析為最靠近用戶放置滑塊處的刻度標記的值,則返回為 true
- getValue() ----從 BoundedRangeModel 返回滑塊的當前值
- setLabelTable(Dictionary labels) ----用于指定將在給定值處繪制哪個標簽
- setMaj orTickSpacing(int n) ----此方法設(shè)置主刻度標記的間隔
- setMaximum(int maximum)---- 將滑塊的最大值設(shè)置為 maximum
- setMinimum(int minimum) ----將滑塊的最小值設(shè)置為 minimum
- setMinorTickSpacing(int n)---- 設(shè)置次刻度標記的間隔
- setOrientation(int orientation)---- 將滑塊的方向設(shè)置為 SwingConstants.VERTICAL 或
SwingConstants.HORIZONTAL - setPaintLabels(boolean b)---- 確定是否在滑塊上繪制標簽
- setPaintTicks(boolean b) ----確定是否在滑塊上繪制刻度標記
- setPaintTrack(boolean b) ----確定是否在滑塊上繪制滑道
- setSnapToTicks(boolean b)---- 指定為 true,則滑塊(及其所表示的值)解析為最靠近用戶放置滑塊處的刻度標記的值
- setValue(int n)---- 將滑塊的當前值設(shè)置為 n
例 1
在了解 JSIider 類的基礎(chǔ)語法之后,下面創(chuàng)建一個滑塊實例。實例非常簡單,僅僅包含一個滑塊,實例源代碼如下所示。
上述代碼首先創(chuàng)建一個 JFrame 窗口并進行必要屬性設(shè)置,接著創(chuàng)建一個 JSIider 對象,設(shè)置最小值為 0,最大值為 100,然后設(shè)置滑塊對象的刻度值。運行此時的實例程序,效果如圖 1 所示。
如果需要在滑塊上添加刻度或標簽,可以在“contentPane.add(slider);”前添加下面兩行語句:
slider.setPaintLabels(true); slider.setPaintTicks(true);再次運行程序,此時滑塊的運行效果如圖 2 所示。
總結(jié)
以上是生活随笔為你收集整理的15、Java Swing JSlider:滑块组件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 14、Java Swing星座选择器界面
- 下一篇: 16、Java Swing JProgr