Как создать список папок [duplicate]

1

Какие компоненты, контейнеры или макеты следует использовать, чтобы иметь структуру папок с левой стороны, как показано на рисунке? Можно ли это сделать с помощью Swing?

левая сторона = место, обозначенное как избранное.

Как второй вопрос, как я могу поместить значок поиска в jtextField, как показано в месте поиска, сверху справа?

Изображение 174551

  • 0
    Я попытался установить JPanel, а затем установить Jtree, но сформированные окна выглядят не так, как на картинке.
  • 1
    см. этот codereview.stackexchange.com/questions/4446/file-browser-gui
Показать ещё 1 комментарий
Теги:
swing

2 ответа

0
Лучший ответ

Я нашел, как взломать JtextField с помощью значка и ключа поиска. На этом веб-сайте рассказывается, как поместить значок в текстовое поле.

  • 0
    Я быстро взглянул на предоставленную вами ссылку для текстового поля значка, и мне не нравится, что метод setMargin() используется в методе paintComponent() . Метод рисования должен быть только для рисования и не должен изменять свойства компонента. Изменение свойства может привести к бесконечному циклу, так как компонент автоматически пытается перекрасить себя каждый раз, когда свойство изменяется.
0

Вероятно, вы должны использовать JList или JTable для отображения имен папок. Прочтите соответствующий раздел из руководства Swing о том, How to use Lists и How to Use Tables для получения дополнительной информации. Вам нужно будет создать собственный рендерер, чтобы отображать как значок, так и текст. Затем вы можете добавить ListSelectionListener для обработки выбора определенной папки.

Также для значка в текстовом поле вы можете проверить ComponentBorder или Text Prompt для возможных решений.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню