// Example from http://www.crionics.com/products/opensource/faq/swing_ex/SwingExamples.html
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
/**
* @version 1.0 10/4/99
*/
public class SliderWithToolTipExample extends JFrame {
public SliderWithToolTipExample() {
super("Mad Level");
JSlider s = new JSlider(JSlider.VERTICAL, 0, 120, 60) {
String[] tooltips = {"Call 911",
"Seeing red",
"Really mad",
"Ticked off",
"Slightly peeved",
"Oh bother",
"Feel good"};
public String getToolTipText(MouseEvent e) {
Point p = e.getPoint();
Rectangle rect = new Rectangle();
rect = getBounds(rect);
int n = getLabelTable().size();
int index = n * p.y / rect.height;
return tooltips[index];
}
};
s.setPaintTicks(true);
s.setMajorTickSpacing(20);
s.setPaintLabels( true );
s.putClientProperty( "JSlider.isFilled", Boolean.TRUE );
s.setToolTipText("");
getContentPane().setLayout(new FlowLayout());
getContentPane().add(s);
}
public static void main (String args[]) {
SliderWithToolTipExample f = new SliderWithToolTipExample();
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setSize (120, 250);
f.show();
}
}