在Applet中嵌入JFrame

我找到了一个开源应用程序,它创建一个JFrame来显示一些内容。 我想将这个JFrame “嵌入”到applet中,因此Jframe中显示的所有内容都将显示在applet中 – 这可能吗?

谢谢你的帮助!

  1. 创建框架的实例。
  2. 获取框架的内容窗格。
  3. 将内容窗格添加到applet。

..open源应用程序,创建一个JFrame ..

由于源是可用的,所以在框架中执行它们所做的任何操作,而不是在applet中执行(使用一些轻微的变体和陷阱)。

在applet中使用框架内容的一些典型问题是:

  1. 程序员可能在构造函数中设置了GUI,这意味着如果不在屏幕上显示自由浮动的GUI元素,则无法访问内容窗格。
  2. 自定义绘画直接到框架(eeek)。 没有得到那些东西。 但是,任何不称职的程序员都不应该首先“打开”他们的来源。
  3. 帧编程器通常使用EXIT_ON_CLOSE作为帧的退出行为。 沙箱小程序不允许(或必须)结束VM。 即使是受信任的applet也会(通常应该)阻止调用System.exit(int)
  4. 基于框架的代码通常会执行需要信任小程序的事情,或者实现相同目标的替代策略。

如果框架设计为使用网络启动启动,则点3和4不太适用/相关。 因为我提到webstart ..

请注意,使用Java Web Start “转换”框架通常比创建和部署applet或将框架转换为applet更容易。 除非applet的某些function对于应用程序至关重要且不可用(考虑到您从应用程序开始,这是不可能的),我建议启动该应用程序。 通过JWS,而不是进行转换。