Показать имя файла ToolTipText на JFileChooser - PullRequest
0 голосов
/ 03 июля 2018

У меня есть JFileChooser.

Я бы хотел, чтобы он отображал ToolTipText (который будет именем файла) для каждого файла в JList, когда указатель мыши указывает на него.

Похоже, мне нужно будет переопределить JList::getToolTipText(), но у меня возникают проблемы с получением списка выбора файлов (а затем с переопределением метода getToolTipText()).

Я имею в виду, должен ли я создать новый класс, который расширяет JLis t, затем переопределить метод в этом классе, а затем заменить JList средства выбора файлов новым экземпляром класса, который я создал?

Мне нужен доступ к атрибуту JList ListModel?

Я провел небольшое исследование. Эти ссылки могут быть полезны:

1 Ответ

0 голосов
/ 03 июля 2018

Это решило мою проблему. Спасибо 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());
            }
        }
    });
...