Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
让Java小程序作为独立应用程序播放_Java_Applet - Fatal编程技术网

让Java小程序作为独立应用程序播放

让Java小程序作为独立应用程序播放,java,applet,Java,Applet,在过去的几天里,我一直在制作一个小程序运行的游戏,但我也希望它能作为一个应用程序使用 我曾尝试将小程序放置在一个框架中,但这样做时,我只会看到一个黑屏(以及偶尔出现的菜单屏幕)。小程序仍在运行,声音仍在播放,但没有其他功能 我不想为了一个独立的应用程序而分解代码并重写它,因为这很耗时,但是如果没有其他方法,那么我将做我必须做的事情。这个程序有点复杂,因为“main”类(包含所有媒体信息、游戏相关事件等)是Applet类(包含keylister、init()事件、run()事件等)的扩展,所以可能

在过去的几天里,我一直在制作一个小程序运行的游戏,但我也希望它能作为一个应用程序使用

我曾尝试将小程序放置在一个框架中,但这样做时,我只会看到一个黑屏(以及偶尔出现的菜单屏幕)。小程序仍在运行,声音仍在播放,但没有其他功能

我不想为了一个独立的应用程序而分解代码并重写它,因为这很耗时,但是如果没有其他方法,那么我将做我必须做的事情。这个程序有点复杂,因为“main”类(包含所有媒体信息、游戏相关事件等)是Applet类(包含
keylister
init()
事件、
run()
事件等)的扩展,所以可能我只是想把错误的东西放在一个框架中

这里有一个链接到游戏的src文件夹。我试着把AWPASG类和Game类放在一个框架中,结果都是一样的

任何帮助都将不胜感激

源代码/媒体
那是因为你的课堂设计不是很好。您已经将所有内容集中在两个类中,不需要从UI容器中至少分离UI小部件(面板等)

此外,您正在使用老式的AWT小程序和面板。您应该使用新的Swing JApplet和JPanel(以及所有opthers JXxx组件)

简而言之,尝试将GUI构建(绘制)隔离到扩展JPanel(或包含JPanel)的类中。然后,您可以有两个独立的启动类,一个将游戏JPanel放入JApplet,另一个将其放入JFrame(从而使您可以将其作为桌面应用程序启动)


另外,您可能希望将游戏初始化逻辑与小程序初始化生命周期分开,您的游戏应该能够初始化,而不必关心底层的GUI技术。

好吧,糟糕!非常感谢你提供的信息。我想我得开始转换成Swing组件了。我对编程还是相当陌生的,所以我会努力清理我的课堂设计。有些是我无法理解的,但这就是互联网存在的原因。