Предпочтительный способ построения дерева компонентов графического интерфейса - PullRequest
0 голосов
/ 11 июля 2009

Каков предпочтительный способ построения дерева компонентов приложения?

  1. Создание всех компонентов и создание целого дерева, управляя им с помощью операций show / hide / disable / enable для пользовательских событий.

  2. Динамическое создание графического интерфейса пользователя с созданием / добавлением / удалением компонентов на основе пользовательских событий.

Меня особенно интересует эта проблема проектирования в JavaFX.

Ответы [ 2 ]

0 голосов
/ 27 августа 2009

Ответ зависит главным образом от производительности. Я построил деревья с ~ 3000 узлов без проблем. В какой-то момент времени количество узлов, добавленных в сцену, влияет на производительность, но это движущаяся цель, так как в каждом выпуске JavaFX это улучшается.

Однако не все это снижение производительности связано с количеством узлов, как это может быть из-за "BindStorming". См. Джим Коннорс блог об этой и других публикациях, связанных с производительностью.

0 голосов
/ 11 июля 2009

Извините, я не очень разбираюсь в JavaFX.

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

Создать все компоненты для текущего экрана и показать / скрыть / отключить / включить их. Но не создавайте компоненты, которые не живут на текущем экране / окне / форме / диалоге.

...