1、继承JComponent类和MouseListener方法
extends JComponent implements   MouseListener
2、实现MouseListener接口mouseExited方法

解决方案 »

  1.   

    to: woowindice(黑山老妖) 
    我所说的视图就是一个从javax.swing.JComponent派生的东西to: dongtr00(童叟无欺) 
    我已经在mousemoved事件中得到了当前所在的图标,也知道了现在应该显示什么文字,我想知道的是怎么显示这个tooltip框
      

  2.   

    JButton k = new JButton();
    j.setToolTipText("this is a tool tip text!");
      

  3.   

    你把Icon set到JLabel上,然后调用setToolTipTextpublic void setToolTipText(String text)
      

  4.   


    你把图标放到JLabel上,然后调用setToolTipText
      

  5.   

    看看jdk/demo/jfc下的swingset2里面的tooltip演示
    你的视图类自己实现一个
    public String getToolTipText(MouseEvent evt){}方法,实现取得不同tooltip内容的逻辑,然后对视图类实例调用getToolTip("")方法--参数为""即可
      

  6.   

    to: cnjava(蕴藏的智慧)
    可惜,这些图标不是我自己画上去的,是用的别人的组件。所以这个方法也没法用
      

  7.   

    小失误,应该是对视图类调用setToolTip("");
      

  8.   

    小失误,应该是对视图类调用setToolTip("");
      

  9.   

    小失误,应该是对视图类调用setToolTip("");public String getToolTipText(MouseEvent evt){
     //根据evt取得鼠标位置
     //根据鼠标位置取得应显示的tooltip string
     //return tooltip string
    }
      

  10.   

    可以自己做一个,首先在你的视图上捕捉鼠标位置,如果它在某个图标上(也就是某个矩形包含当前鼠标坐标),则弹出toolTip,toolTip可以利用 Apocalypse(逍遥思辨) 所说的,也可以自己做,就是继承一个JWindow,在上边放一个JLabel,提示字符就放在Jlabel里,JWindow.show(x,y),即可,鼠标不在范围内就隐藏。此时你会明白JBuilder里的输入.后面弹出的东西是怎样做得了。
      

  11.   

    我能不能直接利用JToolTip这个类呢?
      

  12.   

    如果他们是继承自JComponent,应该可以用setToolTip(String str)方法的。
      

  13.   

    writer an adapter for the component
      

  14.   

    我想在JLabel中显示多行文字,可是"this is tip\nthis is 2nd tip"被显示在同一行中,\n被显示成一个方框,怎么办?
      

  15.   

    to  pentax() :
    我用你的办法,好像快好了。我把JLabel换成JTextArea,好了。但是JWindow被show之后主窗口成为非当前窗口了,也就是说标题栏变灰了,怎么能不让它变灰?
      

  16.   

    如果你需要更好的toolTip,可以自己画出来。我就是自己画的。建议看看demo下的SwingSet2和Java2D的例子。