2013-09-30 3 views
0

Я хочу добавить файлы в JList, и когда пользователь выбирает файл и открывает его, он должен иметь возможность открыть выбранный.Как работать с JList

Я пытаюсь закодировать это, смогу ли я показывать только путь к файлу в списке? Таким образом, когда пользователь щелкает, мы получаем тот путь, где пользователь щелкал и открывал файл.

Если да, то возможно ли перечислять только имя файла, а не его пути, чтобы даже тогда, когда пользователь нажимает на это имя файла, он должен иметь возможность его открыть.

Если его можно просто сказать мне, как сделать это на .. Я не хочу кодирования я просто нужна практическая идея о this..i я кодирования все это с помощью Java ..

+2

Ваш JList может отображать как много или как мало информации, как вы хотите. Посмотрите на создание ListCellRenderer, такого как DefaultListCellRenderer, для этого. Учебники покажут вам, как это сделать. –

ответ

2

Получить список File объектов. Поместите их в какой-то ListModel, DefaultListModel должен поддерживать эту функциональность.

Дизайн ListCellRenderer, который способен отображать визуальное представление того, что вы хотите отобразить. Я бы использовал что-то вроде DefaultListCellRenderer, которое основано на JLabel, но имеет встроенную поддержку форматирования выделения, вам просто нужно позвонить setText после того, как вы использовали реализацию super.

Вы можете использовать ListSelectionListener для мониторинга изменений в списке и отключения/включения кнопки открытия.

Когда пользователь нажимает кнопку «Открыть», вы можете получить выбранный элемент из JList, который вернет ссылку File (из вашей модели).

Вы можете использовать java.awt.Desktop, чтобы открыть

Присмотритесь на How to use Lists и How to intergrate with the Desktop class для более подробной информации

Смежные вопросы