Add ToolTipText in Jlist Item(s)

后端 未结 3 881
盖世英雄少女心
盖世英雄少女心 2020-12-12 03:54
public static void populateJList(JList list) {
        ArrayList contents= DataAccess.getContents();
        DefaultListModel listModel = new DefaultLi         


        
相关标签:
3条回答
  • 2020-12-12 04:13

    If you don't want to override JList, you can use a MouseMotionAdapter to change the tooltip text

        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());
                }
            }
        });
    
    0 讨论(0)
  • 2020-12-12 04:16
    1. You can override the getToolTipText(..) method of the JList.

    2. I believe you can also use a custom renderer which invokes the setToolTipText(...) method.

    0 讨论(0)
  • 2020-12-12 04:19

    For JDK >= 1.6, a slightly different construction is needed:

       loggingList.addMouseMotionListener(new MouseMotionListener() {
    
            @Override
            public void mouseDragged(MouseEvent e) {
                // no-op
            }
    
            @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());
                }
            }
        });
    
    0 讨论(0)
提交回复
热议问题