[Help]  Java ToolTip
请求高手们的帮助 
 图上生成了带点的曲线,现在鼠标移在点上需要有tooltip 
 代码如下:   
 for   (int   i   =   0;   i    <   values.size();   i++){ 
 Double   dr   =   (Double)values.elementAt(i); 
 chart.getDataset().addElement(   i,   dr.doubleValue(),   0   ); 
 } 
 这里用addElement添加了曲线上的点.   chart是自定义组件,代码如下. 
 ======== 
 import   java.awt.Container; 
 import   java.awt.Dimension; 
 import   java.awt.Event; 
 import   java.awt.Graphics; 
 import   java.awt.Graphics2D; 
 import   java.awt.Image; 
 import   java.awt.RenderingHints; 
 import   java.awt.event.ComponentAdapter; 
 import   java.awt.event.ComponentEvent; 
 import   java.awt.event.MouseEvent; 
 import   java.awt.event.MouseListener; 
 import   java.awt.event.MouseMotionListener; 
 import   java.awt.image.BufferedImage; 
 import   java.util.Vector;   
 import   javax.swing.ImageIcon; 
 import   javax.swing.JPanel; 
 import   javax.swing.event.EventListenerList;   
 public   class   DsChart   extends   CControl   implements   MouseListener,   MouseMotionListener 
 { 
 ....   
 public   DsChart(){ 
 initForm(); 
 dataset   =   new   DsDataset(this); 
 bgImage   =   null; 
 .... 
 } 
 class   DsChartPanel   extends   JPanel{ 
 protected   Image   chartImage   =   null;   
 public   DsChartPanel(){ 
 this.addComponentListener(new   ComponentAdapter() 
 { 
 public   void   componentResized(ComponentEvent   e) 
 {   chartImage   =   null;}}); 
 } 
 ......   
 } 
 private   DsChartPanel   m_this   =   new   DsChartPanel(); 
 private   void   initForm(){ 
 m_this.setSize(300,200); 
 m_this.setName( "chart1 "); 
 m_this.addMouseListener(this); 
 m_this.addMouseMotionListener(this); 
 /* 
 wfc   this.addOnClick(new   EventHandler(this.DsChart_click)); 
 this.addOnMouseDown(new   MouseEventHandler(this.DsChart_mouseDown)); 
 this.addOnResize(new   EventHandler(this.DsChart_resize)); 
 */ 
 }   
 /**   Returns   the   {@link   DsDataset   }for   this   chart.*/ 
 public   DsDataset   getDataset() 
 { 
 return   dataset; 
 } 
 =====   
 下面是   DsDataset   这个类 
 import   java.awt.BasicStroke; 
 import   java.awt.Graphics2D; 
 import   java.awt.Polygon; 
 import   java.awt.Stroke; 
 import   java.awt.Toolkit; 
 import   java.awt.geom.Point2D; 
 import   java.util.Vector; 
 public   class   DsDataset{ 
 protected   Vector   pointSet;   
 /**   Construct   and   initialize   a   dataset   for   the   given   graph 
 */ 
 public   DsDataset(DsChart   xy){ 
 pointSet   =   new   Vector(); 
 ...... 
 }   
 /**Create   a   point   and   add   it   to   the   given   dataset*/ 
 public   void   addElement(double   x,   double   y,   int   identifier){ 
 addElement(new   DsXYPoint(x,   y),   identifier); 
 }     
 /**   Add   a   point   to   the   given   dataset*/ 
 public   void   addElement(DsXYPoint   xy,   int   identifier){ 
 Vector   points;   
 while   (pointSet.size()    <=   identifier){