В Java JFrame - это тяжелый или легкий компонент? - PullRequest
3 голосов
/ 13 сентября 2011

Я знаю, что Swing считается легковесным, потому что он полностью реализован на Java, без вызова собственной операционной системы для отрисовки компонентов графического интерфейса пользователя.

С другой стороны, AWT (Abstract Window Toolkit) - это тяжелый инструментарий, поскольку он просто выполняет вызовы операционной системы для создания ее компонентов GUI.

Но я слышал, что Swing по-прежнему основан на AWT, и даже компоненты Swing должны иметь хотя бы один тяжеловесный контейнер. Другими словами, JFrame, JApplet не легкие. Это правда? Найди свою причину?

1 Ответ

5 голосов
/ 13 сентября 2011

JFrames имеют большой вес, поскольку невозможно создать окно уровня представления задач в большинстве ОС без создания «тяжелого» окна AWT.Облегченные компоненты могут заменить внутренние виджеты вещами на основе Java, которые не требуют вызовов JNI, но окна являются особым случаем.Тем не менее, JFrame позволяет вам делать пользовательские рендеры.Кроме того, если вы используете другие легковесные средства, я предлагаю также использовать JFrame, так как это делает рендеринг более эффективным, чем смешивание легких и тяжелых компонентов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...