【问题标题】:Do you have to extend JApplet in your main class?你必须在你的主类中扩展 JApplet 吗?
【发布时间】:2014-02-01 04:19:38
【问题描述】:

我即将开始一个小程序项目,我只是想知道扩展 JApplet 的类是否必须是您的主类。我知道小程序中的所有代码都是使用 init 方法调用的,但我想知道我是否可以有一个不扩展 JApplet 的 Main 类,然后是一个专用于 Applet 的第二个类,其中包含 init 方法和扩展了 JApplet。我想知道如果 Main 类中还有一个 main 方法,小程序是否仍然可以工作并被 init 方法调用。基本上我想知道你能否同时拥有一个带有 init 方法的类和一个带有 main 方法的类。

【问题讨论】:

  • 简短的回答是肯定的和否定的。基本上,您应该尝试单独的应用程序逻辑,以便它不依赖于特定容器(框架/小程序),但您需要这样做才能加入。一起。例如,当浏览器加载您的应用程序时,它会寻找您的小程序类,当它加载时,将调用 init(以及其他)方法,此时您需要准备您的主类并获取它添加到您的小程序

标签: java eclipse applet init japplet


【解决方案1】:

是的,混合课程绝对是可能的。您可以将内容包装在 JPanel 的子类中,然后从您的起始类中调用它,如下所示:

public class StartingClass extends JApplet {

    public static void main(String[] args) {
        JFrame window = new JFrame("Application Name");
        MyPanel content = new MyPanel();
        window.setContentPane(content);
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.pack();
        window.setVisible(true);
    }

    public void init() {
        MyPanel content = new MyPanel();
        setContentPane(content);
    }
}

【讨论】:

    【解决方案2】:

    你必须在你的主类中扩展 JApplet 吗?

    我只是想知道扩展 JApplet 的类是否必须是您的主类。

    不,在任何一种情况下都不需要……。

    设计为作为小程序运行的应用程序不需要static void main(String[]) 方法。如果它对您的应用程序有意义,您可以包含一个,如果您这样做,则该方法不需要 成为您的 JApplet 子类的方法。但如果你愿意,它可能是。

    所以你提议做的事情(有两个类)可以工作,并且(IMO)似乎是一个好方法。

    【讨论】:

      猜你喜欢
      • 2012-01-30
      • 1970-01-01
      • 2013-04-01
      • 2015-07-14
      • 1970-01-01
      • 1970-01-01
      • 2010-10-21
      • 2011-06-14
      • 2018-01-25
      相关资源
      最近更新 更多