www.pudn.com > tame.rar > ToolTipListExample.java


/* (swing1.1.1) */
package tame.examples;

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;

/**
@author Nobuo Tamemasa
@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