Java 在JFileChooser上显示文件名ToolTipText

Java 在JFileChooser上显示文件名ToolTipText,java,swing,awt,jlist,jfilechooser,Java,Swing,Awt,Jlist,Jfilechooser,我有一个JFileChooser 我希望当鼠标指向JList中的每个文件时,它会显示ToolTipText(将是文件名) 看起来我需要重写JList::getToolTiptText(),但是我在获取文件选择器列表(然后重写getToolTiptText()方法)时遇到问题 我的意思是,我是否必须创建一个扩展JList的新类,然后重写该类中的方法,然后用我创建的新类实例替换文件选择器的JList 我是否需要访问JList ListModel属性 我做了一些调查。这些链接可能有用: 这

我有一个
JFileChooser

我希望当鼠标指向
JList
中的每个文件时,它会显示
ToolTipText
(将是文件名)

看起来我需要重写
JList::getToolTiptText()
,但是我在获取文件选择器列表(然后重写
getToolTiptText()
方法)时遇到问题

我的意思是,我是否必须创建一个扩展
JLis
t的新类,然后重写该类中的方法,然后用我创建的新类实例替换文件选择器的
JList

我是否需要访问
JList ListModel
属性

我做了一些调查。这些链接可能有用:


    • 这解决了我的问题。感谢camickr的帮助

      1-使用
      SwingUtils getDescendantOfType
      获取列表

      2-添加鼠标侦听器以显示ToolTipText

      jList.addMouseMotionListener(new MouseMotionAdapter() {
              @Override
              public void mouseMoved(MouseEvent e) {
                  JList l = (JList)e.getSource();
                  ListModel m = l.getModel();
                  int index = l.locationToIndex(e.getPoint());
                  if( index>-1 ) {
                      l.setToolTipText(m.getElementAt(index).toString());
                  }
              }
          });
      

      您可以使用类获取JList组件我是否必须创建一个扩展JList的新类,然后重写该类中的方法,然后用我创建的新类实例替换JFileChooser的JList?`否,您提供的第一个链接显示了如何向JList添加侦听器以设置工具提示文本。或者,也可以使用自定义渲染器替换默认渲染器。因此,您可以创建一个只调用默认渲染器的包装器,然后设置工具提示text.woooooook,非常感谢您的建议!我使用了另一种方法来获取JList(使用JList的
      getComponents()
      实例进行递归搜索)。我认为你的选择更简洁。还有,是的,添加一个侦听器就成功了!“这些链接可能很有用:……”哇!我很惊讶有人在RoseIndia网站上找到有用的东西。最好避免。哈哈哈,哎呀,我忽略了这个细节