Jframe不显示任何内容,并且;无法强制转换为java.applet.applet“;

Jframe不显示任何内容,并且;无法强制转换为java.applet.applet“;,java,swing,applet,Java,Swing,Applet,我只想在我的空框架中添加一个按钮,它非常简单 框架没有显示任何内容,尽管程序运行,IDE告诉我: 所以我为它扩展了JApplet,它不再抱怨了,框架现在是灰色的,仍然没有任何东西。而且,标题也没有显示出来 有趣的是,即使我完全复制了Oracle教程网站(官方网站)上的示例代码,同样的情况也会发生,并与applet相关 请帮忙,非常感谢 public class Spots{ private static void createAndShowGUI() { JFrame frame =

我只想在我的空框架中添加一个按钮,它非常简单

框架没有显示任何内容,尽管程序运行,IDE告诉我:

所以我为它扩展了JApplet,它不再抱怨了,框架现在是灰色的,仍然没有任何东西。而且,标题也没有显示出来

有趣的是,即使我完全复制了Oracle教程网站(官方网站)上的示例代码,同样的情况也会发生,并与applet相关

请帮忙,非常感谢

public class Spots{

private static void createAndShowGUI() {
    JFrame frame = new JFrame();
    JButton jButton = new JButton("Click Me");

    jButton.setSize(20,20);
    jButton.setVisible(true);

    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.add(jButton);
    frame.setSize(500, 500);
    frame.setTitle("Bar Code Scanner");

    frame.pack();
    frame.setVisible(true);

}

public static void main(String[] args){

    createAndShowGUI();



    }
}

对于所有遇到此问题的人,请检查IDE运行设置,以查看它是否作为小程序或应用程序运行。再次感谢您的帮助!

如果您正在制作小程序,您的代码甚至不应该有JFrame变量。相反,在init方法中,将JButton添加到小程序的
contentPane()
或添加到contentPane的JPanel,任何教程都会告诉您这一点

当然,如果您不尝试创建小程序,这一点就不成立,但如果是这样,为什么要将其当作小程序运行。请为我们澄清这一点


编辑
你在评论中问:


谢谢你的帮助!但是如果我想用Jframe的方式做呢?因为我不想创建小程序,所以我没有扩展Japplet或创建init()。但是ide在我的代码中的任何地方抱怨“你需要扩展小程序”,告诉它我正在创建小程序?我不想:(


IDE在编译时不应该关心您创建的类的类型。当您尝试运行代码时,JVM可能会抱怨它不是小程序,如果1)您可以尝试将其作为HTML代码中调用的小程序运行,或者2)尝试使用IDE的小程序模拟器运行。如果是前者,则不要这样做。将其作为独立程序运行。如果是后者,则不要这样做。告诉IDE您正试着运行Java程序,并且对于两者,请确保您拥有有效的main方法。

无法将文件名转换为java.applet.applet: 检查点: 1.扩展JFrame->扩展JApplet 2.公共构造函数()->public void init() 3./publicstaticvoidmain(String[]args){…}/。这意味着不需要此方法。
4.完成以上所有操作后,请保存并编译。因为运行时(appletviewer index.html),您需要filename.class。这个filename.class应该是您已经完成1~3次编译的文件

谢谢您的帮助!但是如果我想用Jframe的方式来做呢?因为我不想创建小程序,所以我没有扩展Japplet或创建init()。但是ide抱怨“您需要扩展小程序”“代码中是否有任何地方告诉它我正在创建小程序?我不想:(@TonyStark:see edit。是的,不要告诉IDE你想运行小程序。谢谢!我明白了!!编译过程正常,但JVM拒绝了。然后我检查了运行配置,发现IDE试图将我的程序作为小程序运行。我将它改为Java应用程序,它可以运行了!非常感谢!!@TonyStark:woo-hoo!很高兴你已经弄明白了!
public class Spots{

private static void createAndShowGUI() {
    JFrame frame = new JFrame();
    JButton jButton = new JButton("Click Me");

    jButton.setSize(20,20);
    jButton.setVisible(true);

    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.add(jButton);
    frame.setSize(500, 500);
    frame.setTitle("Bar Code Scanner");

    frame.pack();
    frame.setVisible(true);

}

public static void main(String[] args){

    createAndShowGUI();



    }
}