Встраивание JFrame в апплет - PullRequest
       13

Встраивание JFrame в апплет

0 голосов
/ 30 августа 2011

Я нашел приложение с открытым исходным кодом, которое создает JFrame для отображения некоторого содержимого. Я хотел бы «встроить» этот JFrame в апплет, чтобы все, что отображается в Jframe, отображалось в апплете - возможно ли это?

Спасибо за вашу помощь!

Ответы [ 2 ]

2 голосов
/ 31 августа 2011

.. приложение с открытым исходным кодом, которое создает JFrame ..

Поскольку исходный код доступен, возьмите все, что он делает в кадре, и вместо этого сделайте это в апплете (с некоторыми небольшими вариантами и подсказками).

Некоторые типичные проблемы с использованием содержимого фрейма в апплете:

  1. Программисты могли установить графический интерфейс видимым в конструкторе, что означает, что вы не можете получить доступ к панели содержимого без отображения на экране свободно плавающего элемента GUI.
  2. Кастомная роспись прямо на раму. Там нет ничего подобного. Но тогда любой некомпетентный программист не должен в первую очередь «открывать» свой источник.
  3. Программист фреймов обычно использует EXIT_ON_CLOSE в качестве поведения выхода для фрейма. Запрещено (или необходимо) апплету в песочнице завершать виртуальную машину. Даже доверенный апплет будет (и должен) обычно не вызывать System.exit(int).
  4. Фрейм-код часто делает то, что требует доверия к апплету или альтернативных стратегий для достижения той же цели.

Пункты 3 и 4 менее применимы / актуальны, если кадр был спроектирован для запуска с помощью веб-запуска. И так как я упоминаю веб-старт ..

Обратите внимание, что обычно проще "преобразовать" кадр для запуска с помощью Java Web Start , чем для создания и развертывания апплета, либо для преобразования кадра в апплет. Если нет какой-либо функциональности апплета, которая является жизненно важной и недоступной для приложения (что маловероятно, если вы начали с приложением), я бы рекомендовал запустить приложение. через JWS вместо преобразования.

2 голосов
/ 30 августа 2011
  1. Создать экземпляр фрейма.
  2. Получить панель содержимого фрейма.
  3. Добавьте панель содержимого в апплет.
...