Java Swing | JSlider

JSlider是Java Swing包的一部分。JSlider是slider的一个实现。该组件允许用户通过在限定值内滑动旋钮来选择值。滑块可以显示主要记号,也可以显示两个主要记号之间的次要记号,旋钮只能定位在这些点上。 该类的构造函数是:

null
  1. JSlider():创建一个水平方向的新滑块,最大值和最小值分别为100和0,滑块值设置为50。
  2. JSlider(BoundedRangeModel b):创建具有水平方向和指定边界范围模型的新滑块。
  3. JSlider(int o):创建一个具有指定方向的新滑块,最大值和最小值分别为100和0,滑块值设置为50。
  4. JSlider(int-min,int-max):创建一个水平方向的新滑块,并指定max和min值,滑块值设置为max和min值的平均值。
  5. JSlider(int-min,int-max,int-value):创建一个具有水平方向、max,min-value和指定滑块值的新滑块。
  6. JSlider(int o,int min,int max,int value):创建一个新的滑块,并指定方向、最大值、最小值和滑块值。

常用函数

  1. setOrientation(int n):将滑块的方向设置为指定值
  2. setValue(int v):将滑块的值设置为指定值
  3. setPaintTicks(布尔b):布尔值决定是否在滑块上绘制记号
  4. setPaintTrack(布尔b):布尔值决定是否在滑块上绘制轨迹
  5. setMajorTickSpacing(int n):设置主刻度的间距。
  6. setMinorTickSpacing(int n):设置小刻度的间距。
  7. setFont(Font f):设置滑块文本的字体
  8. setMaximum(int m):设置滑块的最大值
  9. setMinimum(int m):设置滑块的最小值
  10. updateUI():将UI属性重置为当前外观的值。
  11. setValueIsAdjusting(布尔b):将模型的valueIsAdjusting属性设置为布尔b。
  12. setUI(SliderUI):设置实现该组件外观的ui对象。
  13. setSnapToTicks(布尔b):如果通过true,则滑块位置将被放置到最近的刻度。
  14. setModel(BoundedRangeModel n):设置BoundedRangeModel,用于处理滑块的三个基本属性:最小、最大和值。
  15. setLabelTable(字典l):用于指定在任何给定值下绘制的标签。
  16. SetInversed(布尔b):如果传递true,则滑块设置为Inversed。
  17. imageUpdate(图像img、int s、int x、int y、int w、int h):在图像更改时重新绘制组件。
  18. setExtent(int-extent):设置旋钮“覆盖”范围的大小。
  19. removeChangeListener(ChangeListener l):从滑块中删除ChangeListener。
  20. getModel():返回BoundedRangeModel,它处理滑块的三个基本属性:最小值、最大值和值。
  21. getSnapToTicks():如果旋钮(及其代表的数据值)解析到用户定位旋钮旁边最近的刻度线,则返回true。
  22. getUI():获取实现此组件的L&F的UI对象。
  23. getPaintTrack():返回是否绘制轨迹。
  24. getPaintTicks():返回是否绘制了记号
  25. getPaintLabels():返回是否绘制标签
  26. getOrientation():返回组件的方向。
  27. getMinorTickSpacing():返回小刻度间距
  28. getMinimum():返回最小值
  29. getMaximum():返回最大值
  30. getMajorTickSpacing():返回主刻度间距。
  31. addChangeListener(ChangeListener l):将ChangeListener添加到滑块。
  32. createChangeListener():为组件创建更改侦听器
  33. setUI(SliderUI):设置呈现此组件的外观对象。
  34. getUI():返回呈现此组件的外观对象。
  35. paramString():返回此JSlider的字符串表示形式。
  36. getUIClassID():返回呈现此组件的外观类的名称。
  37. 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();
}
}


输出:

图片[1]-Java Swing | JSlider-yiteyi-C++库

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


输出:

图片[2]-Java Swing | JSlider-yiteyi-C++库

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


输出:

图片[3]-Java Swing | JSlider-yiteyi-C++库

注意:以上程序可能无法在联机编译器中运行,请使用脱机IDE

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享