Загрузить Java-апплет внутри Java-приложения - PullRequest
4 голосов
/ 01 ноября 2011

Можно ли отобразить веб-апплет в окне Java-приложения?

Было бы предпочтительнее, если бы вы могли привести пример кода, поскольку я довольно новичок в Java.

Ответы [ 2 ]

4 голосов
/ 01 ноября 2011

Загляните в Javadocs:

  extended by java.awt.Container
      extended by java.awt.Panel
          extended by java.applet.Applet

Апплеты - это панели, поэтому вы должны иметь возможность добавлять их в рамку. Однако их инициализация и вызов во фрейме (или JFrame) отличаются. Вот, кстати. версия JApplet:

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by javax.swing.JApplet

Если код апплета принадлежит вам, я поместил бы весь интересный контент в JPanel и либо использовал бы этот JPanel в JApplet, либо поместил бы его в JFrame, и использовал бы его как приложение.

Если это не ваш (J) апплет, и у вас нет кода, я бы попробовал добавить их на (J) панель в (J) фрейме.

0 голосов
/ 01 ноября 2011

Если вы действительно хотите это сделать, вы можете просто добавить апплет во фрейм, потому что апплет является подклассом компонента.

JFrame frame = new JFrame();

// Create your applet to add to the frame
Applet comp = new YourApplet() {{
  // this calls the method that initializes the applet. usually the browser calls it
  init();
}};

// Add the component to the frame's content pane;
// by default, the content pane has a border layout
frame.getContentPane().add(comp, BorderLayout.CENTER);

// Show the frame
frame.pack();
frame.setVisible(true);

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

Лучший способ - создать основную панель, которая содержит весь вид, и добавить ее в апплет или фрейм, в зависимости от типа.клиента (веб или автономно).

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