Переключение на месте между компонентами качания - PullRequest
0 голосов
/ 14 октября 2011

В моем приложении Swing я хотел бы отображать ту же дату, используя JTree и JTable.Компоненты должны отображаться / показываться взаимозаменяемо, в зависимости от выбора пользователя (например, с помощью кнопки переключения).Если кнопка нажата, то должно быть показано JTree, если нет, то JTable.Вопрос: как это сделать правильно.Я пробовал укладку в стек, отображая следующий / предыдущий компонент, но это не кажется хорошим решением.Оба компонента занимают память, оба существуют одновременно.Второе решение, по моему мнению, состоит в том, чтобы удалить компонент из панели и создать новый.Это также может занимать много времени и памяти.Есть ли у вас какие-либо предложения или решения.

Ответы [ 2 ]

1 голос
/ 14 октября 2011

Удаление существующих компонентов и добавление новых компонентов на панель не должно быть такой большой проблемой с точки зрения производительности. И если вы убедитесь, что нет ссылок на удаленные объекты (например, JTree), у вас не должно возникнуть проблем с памятью.

1 голос
/ 14 октября 2011

CardLayout кажется наиболее подходящим для этого, но, конечно, он также будет держать оба компонента в памяти.У вас есть какие-либо признаки того, что это проблема, или вы просто страдаете от преждевременных опасений по поводу оптимизации?

...