Java Reference
In-Depth Information
4
5 public class SliderDemo extends JFrame {
6
// Create horizontal and vertical sliders
7
private JSlider jsldHort = new JSlider(JSlider.HORIZONTAL);
horizontal slider
vertical slider
8
private JSlider jsldVert = new JSlider(JSlider.VERTICAL);
9
10
// Create a MessagePanel
11
private MessagePanel messagePanel =
12
new MessagePanel( "Welcome to Java" );
13
14 public static void main(String[] args) {
15 SliderDemo frame = new SliderDemo();
16 frame.setTitle( "SliderDemo" );
17 frame.setLocationRelativeTo( null ); // Center the frame
18 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
19 frame.pack();
20 frame.setVisible( true );
21 }
22
23 public SliderDemo() {
24 // Add sliders and message panel to the frame
25 setLayout( new BorderLayout( 5 , 5 ));
26 add(messagePanel, BorderLayout.CENTER);
27 add(jsldVert, BorderLayout.EAST);
28 add(jsldHort, BorderLayout.SOUTH);
29
30 // Set properties for sliders
31 jsldHort.setMaximum( 50 );
32 jsldHort.setPaintLabels( true );
33 jsldHort.setPaintTicks( true );
34 jsldHort.setMajorTickSpacing( 10 );
35 jsldHort.setMinorTickSpacing( 1 );
36 jsldHort.setPaintTrack( false );
37 jsldVert.setInverted( true );
38 jsldVert.setMaximum( 10 );
39 jsldVert.setPaintLabels( true );
40 jsldVert.setPaintTicks( true );
41 jsldVert.setMajorTickSpacing( 10 );
42 jsldVert.setMinorTickSpacing( 1 );
43
44 // Register listener for the sliders
45 jsldHort.addChangeListener( new ChangeListener() {
46 @Override /** Handle scroll-bar adjustment actions */
47 public void stateChanged(ChangeEvent e) {
48 // getValue() and getMaximumValue() return int, but for better
49 // precision, use double
50 double value = jsldHort.getValue();
51 double maximumValue = jsldHort.getMaximum();
52 double newX = (value * messagePanel.getWidth() /
53 maximumValue);
54 messagePanel.setXCoordinate(( int )newX);
55 }
56 });
57 jsldVert.addChangeListener( new ChangeListener() {
58 @Override /** Handle scroll-bar adjustment actions */
59
create frame
create UI
slider properties
listener
listener
public void stateChanged(ChangeEvent e) {
60
// getValue() and getMaximum() return int, but for better
61
// precision, use double
62
double value = jsldVert.getValue();
63
double maximumValue = jsldVert.getMaximum();
 
Search WWH ::




Custom Search