// Example from http://www.crionics.com/products/opensource/faq/swing_ex/SwingExamples.html
//File:ToolTipListExample.java
/* (swing1.1.1) */
import java.awt.BorderLayout;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.UIManager;
/**
* @version 1.0 08/26/99
*/
public class ToolTipListExample extends JFrame {
public ToolTipListExample() {
super("ToolTip Example");
String[][] strs = { { "Acinonyx jutatus", "Cheetah" },
{ "Panthera leo", "Lion" }, { "Canis lupus", "Wolf" },
{ "Lycaon pictus", "Llycaon" }, { "Vulpes Vulpes", "Fox" } };
JList list = new JList(createItems(strs)) {
public String getToolTipText(MouseEvent e) {
int index = locationToIndex(e.getPoint());
if (-1 < index) {
ToolTipItem item = (ToolTipItem) getModel().getElementAt(
index);
return item.getToolTipText();
} else {
//return super.getToolTipText();
return null;
}
}
};
list.setToolTipText("");
getContentPane().add(new JScrollPane(list), BorderLayout.CENTER);
}
Object[] createItems(String[][] strs) {
ToolTipItem[] items = new ToolTipItem[strs.length];
for (int i = 0; i < strs.length; i++) {
items[i] = new ToolTipItem(strs[i][0], strs[i][1]);
}
return items;
}
class ToolTipItem {
String obj;
String toolTipText;
public ToolTipItem(String obj, String text) {
this.obj = obj;
this.toolTipText = text;
}
public String getToolTipText() {
return toolTipText;
}
public String toString() {
return obj;
}
}
public static void main(String args[]) {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (Exception evt) {}
ToolTipListExample frame = new ToolTipListExample();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.setSize(140, 150);
frame.setVisible(true);
}
}