Java 在Jlist项目中添加ToolTipText

Java 在Jlist项目中添加ToolTipText,java,tooltip,jlist,Java,Tooltip,Jlist,我有这个方法填充我的JList,有没有一种方法可以添加JList中每个项目的toolTipText 您可以重写GetToolTiptText。。JList的方法 我相信你也可以使用一个自定义的渲染器来调用setToolTiptText。。。方法 您可以重写GetToolTiptText。。JList的方法 我相信你也可以使用一个自定义的渲染器来调用setToolTiptText。。。方法 如果不想覆盖JList,可以使用MouseMotionAdapter更改工具提示文本 public stat

我有这个方法填充我的JList,有没有一种方法可以添加JList中每个项目的toolTipText

您可以重写GetToolTiptText。。JList的方法

我相信你也可以使用一个自定义的渲染器来调用setToolTiptText。。。方法

您可以重写GetToolTiptText。。JList的方法

我相信你也可以使用一个自定义的渲染器来调用setToolTiptText。。。方法


如果不想覆盖JList,可以使用MouseMotionAdapter更改工具提示文本

public static void populateJList(JList list) {
        ArrayList<String> contents= DataAccess.getContents();
        DefaultListModel listModel = new DefaultListModel();
        for (String string : contents) {
            listModel.addElement(string);
        }
        preset.setModel(listModel);
}

如果不想覆盖JList,可以使用MouseMotionAdapter更改工具提示文本

public static void populateJList(JList list) {
        ArrayList<String> contents= DataAccess.getContents();
        DefaultListModel listModel = new DefaultListModel();
        for (String string : contents) {
            listModel.addElement(string);
        }
        preset.setModel(listModel);
}

对于JDK>=1.6,需要稍微不同的构造:

    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());
            }
        }
    });

对于JDK>=1.6,需要稍微不同的构造:

    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());
            }
        }
    });

如果您有一个包含多个组件作为列表项的JContainer,那么重写getToolTipText会更好。如果您有一个包含多个组件作为列表项的JContainer,然后重写GetToolTiptText更好。.MouseMotionAdapter是一个抽象类,它已经没有op方法,并且自JDK 1.1MouseMotionAdapter是一个抽象类,它已经没有op方法,并且自JDK 1.1以来就存在