Как представить иерархический список строк с флажками в Java Swing?
Так. Было несколько идей... нет хороших.. Так вот проблема, с которой я столкнулся и не могу найти решение.
Мне нужно иметь TXT-файл, содержащий иерархический список вещей, чтобы выглядеть примерно так:
- Задайте вопрос
- Прежде чем задавать вопрос, проверьте похожие вопросы
- Сформулируйте вопрос так, чтобы проблема была четко показана.
- Разместить вопрос
- Держите большие пальцы, чтобы это могло спасти ваш день.
Файл txt должен в программе заполнить список, показанный в JPanel, и после каждого шага должен иметь флажок для подтверждения "Я был хорошим мальчиком и сделал это". Список может со временем меняться, увеличиваться и уменьшаться, поэтому для решения требуется полоса прокрутки. Список также должен содержать возможность показывать больше одной строки.
Решение, над которым я работаю, сделано в компиляторе Jave 1.6, и я использую Swing для моего макета. До сих пор у меня были следующие идеи: модифицированный JTable... и другие решения, за которые мне стыдно... И вот об этом....
4 ответа
JTree
с пользовательским рендерером. Рендерер должен быть панелью с флажком и текстовой областью.
посмотреть на JTree
должны переопределить JTree Renderer и редактор (Comcept это то же самое для
JTable
а такжеJTree
)все данные хранятся в
DefaultTreeModel
примеры о Tree Model, редакторе Tree Renderer,Tree и здесь
Также рассмотрим org.netbeans.swing.outline.Outline
, обсуждается здесь и иллюстрируется ниже. Это не видно на скриншоте, но Outline
Экземпляр был добавлен в JScrollPane
,
Я бы сказал, что JTreeTable - это правильный выбор. Это обеспечит большую мощность и гибкость. Пожалуйста, посмотрите несколько очень простых примеров:
- http://www.ibm.com/developerworks/java/library/j-5things14/index.html
- http://www.java2s.com/Code/Java/Swing-Components/JTreeTablecomponent.htm
Для любых серьезных целей используйте зрелую реализацию, предоставляемую, например, проектом SwingLab:
Пожалуйста, смотрите также следующий ответ: