JSlider是Java Swing包的一部分。JSlider是slider的一个实现。该组件允许用户通过在限定值内滑动旋钮来选择值。滑块可以显示主要记号,也可以显示两个主要记号之间的次要记号,旋钮只能定位在这些点上。 该类的构造函数是:
null
- JSlider():创建一个水平方向的新滑块,最大值和最小值分别为100和0,滑块值设置为50。
- JSlider(BoundedRangeModel b):创建具有水平方向和指定边界范围模型的新滑块。
- JSlider(int o):创建一个具有指定方向的新滑块,最大值和最小值分别为100和0,滑块值设置为50。
- JSlider(int-min,int-max):创建一个水平方向的新滑块,并指定max和min值,滑块值设置为max和min值的平均值。
- JSlider(int-min,int-max,int-value):创建一个具有水平方向、max,min-value和指定滑块值的新滑块。
- JSlider(int o,int min,int max,int value):创建一个新的滑块,并指定方向、最大值、最小值和滑块值。
常用函数
- setOrientation(int n):将滑块的方向设置为指定值
- setValue(int v):将滑块的值设置为指定值
- setPaintTicks(布尔b):布尔值决定是否在滑块上绘制记号
- setPaintTrack(布尔b):布尔值决定是否在滑块上绘制轨迹
- setMajorTickSpacing(int n):设置主刻度的间距。
- setMinorTickSpacing(int n):设置小刻度的间距。
- setFont(Font f):设置滑块文本的字体
- setMaximum(int m):设置滑块的最大值
- setMinimum(int m):设置滑块的最小值
- updateUI():将UI属性重置为当前外观的值。
- setValueIsAdjusting(布尔b):将模型的valueIsAdjusting属性设置为布尔b。
- setUI(SliderUI):设置实现该组件外观的ui对象。
- setSnapToTicks(布尔b):如果通过true,则滑块位置将被放置到最近的刻度。
- setModel(BoundedRangeModel n):设置BoundedRangeModel,用于处理滑块的三个基本属性:最小、最大和值。
- setLabelTable(字典l):用于指定在任何给定值下绘制的标签。
- SetInversed(布尔b):如果传递true,则滑块设置为Inversed。
- imageUpdate(图像img、int s、int x、int y、int w、int h):在图像更改时重新绘制组件。
- setExtent(int-extent):设置旋钮“覆盖”范围的大小。
- removeChangeListener(ChangeListener l):从滑块中删除ChangeListener。
- getModel():返回BoundedRangeModel,它处理滑块的三个基本属性:最小值、最大值和值。
- getSnapToTicks():如果旋钮(及其代表的数据值)解析到用户定位旋钮旁边最近的刻度线,则返回true。
- getUI():获取实现此组件的L&F的UI对象。
- getPaintTrack():返回是否绘制轨迹。
- getPaintTicks():返回是否绘制了记号
- getPaintLabels():返回是否绘制标签
- getOrientation():返回组件的方向。
- getMinorTickSpacing():返回小刻度间距
- getMinimum():返回最小值
- getMaximum():返回最大值
- getMajorTickSpacing():返回主刻度间距。
- addChangeListener(ChangeListener l):将ChangeListener添加到滑块。
- createChangeListener():为组件创建更改侦听器
- setUI(SliderUI):设置呈现此组件的外观对象。
- getUI():返回呈现此组件的外观对象。
- paramString():返回此JSlider的字符串表示形式。
- getUIClassID():返回呈现此组件的外观类的名称。
- getAccessibleContext():获取与此JSlider关联的AccessibleContext。
以下程序将演示JSlider的使用 1.创建简单JSlider的程序
JAVA
// java Program to create a simple JSlider import javax.swing.event.*; import java.awt.*; import javax.swing.*; class solve extends JFrame { // frame static JFrame f; // slider static JSlider b; // main class public static void main(String[] args) { // create a new frame f = new JFrame( "frame" ); // create a object solve s = new solve(); // create a panel JPanel p = new JPanel(); // create a slider b = new JSlider(); // add slider to panel p.add(b); f.add(p); // set the size of frame f.setSize( 300 , 300 ); f.show(); } } |
输出:
2.程序创建一个滑块,其中绘制了最小值和最大值以及主刻度和次刻度。
JAVA
// java Program to create a slider with min and // max value and major and minor ticks painted. import javax.swing.event.*; import java.awt.*; import javax.swing.*; class solve extends JFrame implements ChangeListener { // frame static JFrame f; // slider static JSlider b; // label static JLabel l; // main class public static void main(String[] args) { // create a new frame f = new JFrame( "frame" ); // create a object solve s = new solve(); // create label l = new JLabel(); // create a panel JPanel p = new JPanel(); // create a slider b = new JSlider( 0 , 200 , 120 ); // paint the ticks and tracks b.setPaintTrack( true ); b.setPaintTicks( true ); b.setPaintLabels( true ); // set spacing b.setMajorTickSpacing( 50 ); b.setMinorTickSpacing( 5 ); // setChangeListener b.addChangeListener(s); // add slider to panel p.add(b); p.add(l); f.add(p); // set the text of label l.setText( "value of Slider is =" + b.getValue()); // set the size of frame f.setSize( 300 , 300 ); f.show(); } // if JSlider value is changed public void stateChanged(ChangeEvent e) { l.setText( "value of Slider is =" + b.getValue()); } } |
输出:
3.程序创建一个垂直滑块,绘制最小值和最大值以及主刻度和次刻度,并设置滑块的字体。
JAVA
// java Program to create a vertical slider with // min and max value and major and minor ticks // painted and set the font of the slider. import javax.swing.event.*; import java.awt.*; import javax.swing.*; class solve extends JFrame implements ChangeListener { // frame static JFrame f; // slider static JSlider b; // label static JLabel l; // main class public static void main(String[] args) { // create a new frame f = new JFrame( "frame" ); // create a object solve s = new solve(); // create label l = new JLabel(); // create a panel JPanel p = new JPanel(); // create a slider b = new JSlider( 0 , 200 , 120 ); // paint the ticks and tracks b.setPaintTrack( true ); b.setPaintTicks( true ); b.setPaintLabels( true ); // set spacing b.setMajorTickSpacing( 50 ); b.setMinorTickSpacing( 5 ); // setChangeListener b.addChangeListener(s); // set orientation of slider b.setOrientation(SwingConstants.VERTICAL); // set Font for the slider b.setFont( new Font( "Serif" , Font.ITALIC, 20 )); // add slider to panel p.add(b); p.add(l); f.add(p); // set the text of label l.setText( "value of Slider is =" + b.getValue()); // set the size of frame f.setSize( 300 , 300 ); f.show(); } // if JSlider value is changed public void stateChanged(ChangeEvent e) { l.setText( "value of Slider is =" + b.getValue()); } } |
输出:
注意:以上程序可能无法在联机编译器中运行,请使用脱机IDE
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END