JApplet无法在HTML页面中运行



我已经使用Netbeans中的JUNG库创建了一个JApplet,它可以正常编译和运行。但是,当我尝试创建一个运行小程序的html文件时,只会出现一个灰色窗格,但组件却不见了。我的课是:

   public class View extends JApplet {
   //Here I declare the buttons etc..
   public View()
{
    initializeComponent();
            fetchGraphs();
}

   public static void main(String[] args) throws IOException{
    f = new JFrame();
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    x = screenSize.width;
    y = screenSize.height;

    f.getContentPane().add(new View());
    f.setTitle("Social Network Privacy Settings and Access Control");
    f.setLocation(new Point(15, 20));
    f.setSize(new Dimension(x-20,y-50));
    f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    f.setResizable(false);
    f.setVisible(true);
}  
}

方法initializeComponent((将所有组件添加到主窗口中。我使用JFrameBuilder构建了一些基本组件。JFrameBuilder使用addComponent(容器、组件、x、y、宽度、高度(方法添加组件

我使用下面的代码:

  contentPane = (JPanel)this.getContentPane();
  //to create the japplet contentpane
  addComponent(contentPane, genGraphButton, (int)(0.35*x),(int)(0.63*y),       
  (int)(0.2*x),28);
  // to add components

然后我创建了一个html文件:

    <applet code = 'MyPackage.View' 
    archive = 'MyProject.jar',
    width = 1600, 
    height = 800/>

在/dist文件夹中,但当我尝试用Mozilla Firefox打开它时,只会出现一个灰色窗格。奇怪的是,我创建了另一个简单的小程序,这次是使用netbeans JBuilder,它在网页中正常运行。

我真的需要帮助!

提到JUNG库,它依赖于两个第三方库,Collections Generic&Cern-Colt科学图书馆1.2.0。正如@othman所提到的,它们需要添加到小程序的运行时类路径(添加到applet元素的archive属性(。

但为了让我们清楚,请确保HTML包含的不仅仅是applet元素。类似这样的东西:

<html>
<body>
<applet 
    code='MyPackage.View' 
    archive='MyProject.jar,jung.jar,collections.jar,colt-scientific.jar'
    alt='Java is DISABLED in this browser!'
    width='1600'
    height='800'>
This browser does not recognize the applet element! 
</applet>
</body>
</html>

当然,你需要把最后3个罐子的名字改成他们的真名。

我不是Applet专家,因为我不使用它们,但IIRC需要init()方法来初始化视图。main(...)不是为小程序调用的。

首先,我不确定您添加到html中的新行是否合法。我的意思是写<applet/>,没有任何新行和空格。

其次,测试您的jar是否真的可用。要做到这一点,请访问与您在没有HTML但有jar的情况下检索HTML相同的URL,即

如果您的HTML URL是:http://somehost/my.html在浏览器中键入http://somehost/MyProject.jar看看你可以下载这个罐子。

如果有效,请检查code属性。你的包名真的是MyPackage吗?大写?你知道这不符合命名惯例吗?

还要检查java控制台。在浏览器的菜单中找到它:它取决于浏览器。我相信您会以异常堆栈跟踪的形式看到原因。

您还需要在您的applet标签中引用JUG jar:

<

applet code = 'MyPackage.View' 
archive = 'MyProject.jar , jung_xx.jar',
width = 1600, 
height = 800 /
>

在archive属性中,添加当前netbeans项目类路径中的所有jungjar。

相关内容

  • 没有找到相关文章

最新更新