
Constructors
JSlider()
JSlider(int orientation)
JSlider(int min,int max)
JSlider(int min,int max,int val)
JSlider(int orientation,int min,int max,int val)
Methods
public void setExtent(int extent) // value+extent is maximum value to which a jslider can be set to. See constraints below.
public void setFont(Font f) // font for labels
public void setInverted(boolean flag) // slide from the inverted direction
public void setLabelTable(Dictionary d) // labels dictionary containing value-label pairs
public void setMajorTickSpacing(int space) // value between big ticks
public void setMinorTickSpacing(int space) // value between small ticks
public void setMinimum(int min) // minimum value for jslider
public void setMaximum(int max) // maximum value for jslider
public void setOrientation(int orientation) // Set orientation horizontal/vertical
public void setSnapToTicks(boolean b) // Auto adjust JSlider to nearest tick when value is changed
public void setPaintLabels(boolean b) // Paint labels
public void setPaintTicks(boolean b) // Paint tick (a tick is a line that corresponds a value)
Constraints: You need to know the constraints to understand what an extent means.
minimum <= value <= value+extent <= maximum
import javax.swing.*;
import java.awt.*;
import java.util.*;
class JSliderExample extends JFrame
{
JSlider s1,s2,s3,s4,s5;
Hashtable<Integer,JLabel> h=new Hashtable<>();
{
h.put(0,new JLabel("Zero"));
h.put(10,new JLabel("Ten"));
h.put(20,new JLabel("Twenty"));
h.put(30,new JLabel("Thirty"));
h.put(40,new JLabel("Forty"));
h.put(50,new JLabel("Fifty"));
// This is not taken, see down since
// s4 maximum val is 50
// h.put(60,new JLabel("Sixty"));
}
public JSliderExample()
{
createAndShowGUI();
}
private void createAndShowGUI()
{
setTitle("JSlider Example");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new FlowLayout());
s1=new JSlider();
// orientation
s2=new JSlider(SwingConstants.VERTICAL);
// min,max
s3=new JSlider(10,90);
// min,max,val
s4=new JSlider(0,50,10);
// orientation, min,max,val
s5=new JSlider(SwingConstants.HORIZONTAL,0,100,20);
// Set value
s1.setValue(20);
s2.setValue(40);
s3.setValue(20);
// Set minimum,maximum
s1.setMinimum(10);
s1.setMaximum(40);
// If you set more than maximum, then
// maximum is considered, i.e.
// here setValue(40) is substituted
s1.setValue(42);
System.out.println("Value of s1 is "+s1.getValue());
// Set orientation
s4.setOrientation(SwingConstants.VERTICAL);
// Set border
s1.setBorder(BorderFactory.createLineBorder(Color.GRAY,1,false));
s1.setMinorTickSpacing(5);
s1.setMajorTickSpacing(10);
s4.setMajorTickSpacing(10);
s5.setMinorTickSpacing(5);
s5.setMajorTickSpacing(10);
// Set paint labels
s1.setPaintLabels(true);
s1.setPaintTicks(true);
s4.setPaintLabels(true);
s5.setPaintLabels(true);
s5.setPaintTicks(true);
s1.setSnapToTicks(true);
s1.setFont(new Font("Tahoma",Font.PLAIN,11));
s3.setInverted(true);
s4.setLabelTable(h);
// This doesn't work because, in label table, separate
// JLabel objects are acting as JLabels
// s4.setFont(new Font("Tahoma",Font.PLAIN,11));
// Now though the max is 100, user can
// drag slider upto 100-20=80 only
// i.e. (max-setExtent)=max_val
s5.setExtent(20);
add(s1);
add(s2);
add(s3);
add(s4);
add(s5);
setSize(600,400);
setVisible(true);
}
public static void main(String args[])
{
new JSliderExample();
}
}
Also see combining JSlider and JMenu and increase JTextArea font size with JSlider
The greatest compliment you can give me is when you share this with others. I sincerely appreciate it :)
No comments:
Post a Comment