如何显示java程序内部应用程序的网页?
题
我可能缺少的东西简单在这里,但是我不能找到答案其他地方。我只是想显示一个小程序在我的应用程序的代码。
操作系统:Windows XP Java:JAVA1.6.0_10 其他:应用程序,应用程序-Ext2.0.5
这里是小程序(明显地简化的用于测试):
package foo.applet;
import javax.swing.JApplet;
import java.awt.Graphics;
public class HelloApplet extends JApplet
{
public void paint(Graphics g)
{
g.drawRect(0, 0,
getSize().width - 1,
getSize().height - 1);
g.drawString("Hello world!", 5, 15);
}
}
这里是代码叫它:
package foo.applet;
import com.google.gwt.user.client.ui.HTML;
import com.gwtext.client.widgets.Panel;
public class AppletPanel extends Panel
{
public AppletPanel()
{
HTML applet = new HTML();
applet.setHTML("<applet name=\"HelloApplet\" code=\"HelloApplet.class\" width=\"300\" height=\"300\"" );
this.add(applet);
}
}
当我启动的应用程序托管的模式,jvm崩溃(提交事件1425130与太阳)。
当我试图编制的应用程序的代码,用于在浏览器中运行,我得到这个:
[ERROR] Errors in 'file:/C:/<blah>/applet/HelloApplet.java'
[ERROR] Line 3: The import javax.swing cannot be resolved
[ERROR] Line 4: The import java.awt cannot be resolved
[ERROR] Line 6: JApplet cannot be resolved to a type
[ERROR] Line 8: Graphics cannot be resolved to a type
[ERROR] Line 11: The method getSize() is undefined for the type HelloApplet
[ERROR] Line 12: The method getSize() is undefined for the type HelloApplet
很明显我错过一些的小程序的图书馆,但我grepped通过的所有罐子在java和尝试,包括所有那些列表JApplet或awt(plugin.jar,resources.jar,rt.jar,deploy.jar,javaws.jar).
还有,我很肯定一旦我解决这个问题还有另外一个潜伏的权利之后的,但是我会保存,另一个问题。
谢谢!
遗留的应用程序不是一种小程序-这是一种厚的客户摇摆的应用程序。我们砍死它的运作程序,因为我们的客户想要一个客户浏览器这是最快的方式得到完成。
我不知道,如果应用程序将接受JPanel解决方案的应用程序没有写任何方式应用程序可以分析即它不使用应用程序API,它使用的摆动。据我所知,只有这样,混合摇摆与应用程序将是在一种小程序时尚。
我失去了一些东西?
解决方案
您是否正在尝试GWT编译您的applet?
这不起作用,因为GWT编译(只是从Java转换为Javascript)只支持少数几个Java库,当然也不支持applet。
确保您的applet不在GWT源路径上(将其移至另一个包)。
其他提示
不要使用GWTCompiler来编译applet代码。我建议创建一个仅包含applet代码的第二个模块(或项目)。使用标准Javac编译器(或您的IDE / ant)将其编译为单独的JAR
GWTCompiler使用Java库的子集,并且只应用于生成最终将作为Javascript运行的代码。
我在研究 gwt
应用程序时发现了这一点,即使这是一个旧线程,我想发布一个方法来运行gwt内的applet。
首先创建两个不同的项目,一个用于applet,另一个用于 gwt
。
让你的小程序正常。
jar你的小程序。
然后用 jarsigner
签署 .jar
。
正常创建 gwt
模块。
嵌入applet我使用 gwt
HTML对象和applet标签,如下所示:
(applet MAYSCRIPT code ='com.myapplet.MyApplet'id ='myApplet'jnlp_href ='/spplets / MyApplet.jnlp',width = 500,height = 400)(/ applet)
只需将HTML小部件添加到contentPanel,即可完成gui部分。
小程序.jar需要进入你的gwt项目的/ war。
除了 .jar
,您还需要编写 .jnlp
文件来启动applet。
这将在gwt中嵌入applet并以托管或生产模式运行它。关键是签署您的 .JAR
并使用 .JNLP
一个轻重量级应用程序的可能组合应用程序和JNLP.然后我们可以获得更大的罐子到人们的机器相当的透明度。例如,我想到使用蜡染的工具包或其他SVG有关的东西有SVG在我的应用程序的应用程序,而不是被迫使用仅png或其他栅格式。
- 泰-你也可以邮件你的思想在这我在bob.futrelle@gmail.com
“导入javax.swing无法解析” - 抱歉,我不是GWT maven,但是这个错误是classpath-esque。听起来像GWT找不到你的JVM的rt.jar。