测试java代码是否在小程序中运行的最佳方法是什么?

测试java代码是否在小程序中运行的最佳方法是什么?,java,applet,Java,Applet,我想要java代码中的某个地方: if(inAnApplet()) { initForApplet(); } else { initForApp(); } 假设您在某个地方有一个扩展了JApplet的视图,并且可以从您拥有if的代码中访问该视图,您可以编写: if(mainView instanceof JApplet) { initForApplet(); } else { initForApp(); } 正如jli所说,也许您可以在类中创建一个可访问的

我想要java代码中的某个地方:

if(inAnApplet()) {
    initForApplet();
} else {
    initForApp();
}

假设您在某个地方有一个扩展了
JApplet
的视图,并且可以从您拥有if的代码中访问该视图,您可以编写:

if(mainView instanceof JApplet) {
     initForApplet();
} else {
     initForApp();
}

正如jli所说,也许您可以在类中创建一个可访问的
public(static)布尔值isApplet=true
,在主方法中将其设置为false,因为Applet中没有调用
public static void main(String[]args)

这样,如果(isApplet),您的支票将只需启动


HTH

如果调用了
main
,则它不是小程序。只需将该状态保存到某个地方即可。@jli这是我记得在过去的日子里所做的事情(小程序在短短几个月内都很酷;-)。我感到惊讶的是,随着JWS(或其他真正叫JWS的东西)合并小程序的出现,现在还没有一种漂亮的技术。我正在寻找一种静态的全局“系统”方式来获得它。所以我可以把它放在一个静态初始化器中。如果我把某个东西作为参数传入,那么我就可以区分。在最初阶段,我可能希望根据VM运行的上下文加载一个或另一个类。您最终得到了基于类型的不同行为的类,但是依赖于类型的代码并没有封装在它所依赖的类/对象中。它类似于封装的反面,使非不同类型的类基于“其他”类类型表现出多态行为。当然,人们是这样做的,但这远不是干净的代码。是的,但是封装行为可能比仅仅有一个标志要好。并将
主程序
小程序
分开。
public class MyApplet extends JApplet {

    boolean isapplet = true;


    public MyApplet() {
        this(true);
    }

    public MyApplet(boolean isapplet) {
        this.isapplet = isapplet;
    }

    public static final void main(String[] argv) {
        // is an app
        new MyApplet(false);
    }
}