![]() |
The Java Developers Almanac 1.4 |
|
e798. Showing Tick-Mark Labels on a JSlider ComponentThis example demonstrates how to display labels (numerical values) at the major ticks (see e797 Showing Tick Marks on a JSlider Component). // Create a horizontal slider that moves left-to-right
JSlider slider = new JSlider();
// Set major tick marks every 25 units
int tickSpacing = 25;
slider.setMajorTickSpacing(tickSpacing);
// Determine if currently painting labels
boolean b = slider.getPaintLabels(); // false
// Paint labels at the major ticks - 0, 25, 50, 75, and 100
slider.setPaintLabels(true);
The slider allows you to use an arbitrary label at any particular
major tick mark. This example configures a slider that shows an icon
at the minimum and maximum positions. The component is only used to
render the label and so it can be used at more than one position.
Unfortunately, it also means that if the component is interactive
(e.g., a button), it will not respond to mouse and keyboard gestures.
// Retrieve current table
java.util.Dictionary table = slider.getLabelTable();
// Create icon
ImageIcon icon = new ImageIcon("icon.gif");
JLabel label = new JLabel(icon);
// Set at desired positions
table.put(new Integer(slider.getMinimum()), label);
table.put(new Integer(slider.getMaximum()), label);
// Force the slider to use the new labels
slider.setLabelTable(table);
e795. Getting and Setting the Values of a JSlider Component e796. Setting the Orientation of a JSlider Component e797. Showing Tick Marks on a JSlider Component e799. Constraining JSlider Component Values to Tick Marks e800. Listening for Value Changes in a JSlider Component © 2002 Addison-Wesley. |