/* (swing1.1.1) */
package tame.examples;
import java.awt.FlowLayout;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JSlider;
/**
@author Nobuo Tamemasa
@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();
}
}
|
|