gpt4 book ai didi

java - Jframe 没有显示任何内容并且 "cannot be cast to java.applet.Applet"

转载 作者:太空宇宙 更新时间:2023-11-04 14:54:52 29 4
gpt4 key购买 nike

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

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

java.lang.ClassCastException: Spots cannot be cast to java.applet.Applet
at sun.applet.AppletPanel.createApplet(AppletPanel.java:793)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:722)
at sun.applet.AppletPanel.run(AppletPanel.java:379)
at java.lang.Thread.run(Thread.java:744)"

所以我为它扩展了 JApplet,它不再提示了,框架现在是灰色的,仍然什么也没有。另外,标题未显示。

有趣的是,即使我完全复制Oracle教程站点(官方)上的示例代码:Tutorial Site ,同样的情况也会发生,它会影响小程序的事情。

请帮忙,非常感谢!

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,就像任何教程都会告诉您的那样。

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

<小时/>

编辑
您在评论中询问:

Thanks for the help! but what if I want to do it in Jframe way? Because I don't want to create an applet so I didn't extends Japplet or create init(). But the ide complains "you need to extends applet" Is anywhere in my code telling it I'm creating an applet? I dont want to :(

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

关于java - Jframe 没有显示任何内容并且 "cannot be cast to java.applet.Applet",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23327752/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com