gpt4 book ai didi

java - 将我的 Java 应用程序转换为小程序时缺少哪一步?

转载 作者:太空宇宙 更新时间:2023-11-04 06:38:19 26 4
gpt4 key购买 nike

我用 java 创建了一个 Swing 游戏,在桌面上执行时可以正常运行。然而,由于不可预见的事件,我的老板现在要求将游戏变成一个小程序,以便将其嵌入到网站中(不,JWS 不是一个选项)。

以下是我将游戏转换为小程序的步骤:

1) 将我的主类更改为 public void init() 而不是 public static void main(),并从 Applet 扩展它

2) 将我的 myJFrame.java 类更改为从 Applet 扩展,而不是从 JFrame 扩展。

我的小程序代码如下:

import java.applet.Applet;

public class app extends Applet{

@Override
public void init() {
myJFrame mjf = new myJFrame();
}
}
<小时/>
import java.applet.Applet;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class myJFrame extends Applet{
private final MainMenu main;
private SidePanel side;

public myJFrame() {
try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() );}
catch (ClassNotFoundException | IllegalAccessException | InstantiationException | UnsupportedLookAndFeelException e) {}

main = new MainMenu(this);

add(main, "Center");

setSize(1080,720);

setVisible(true);
}
...
}

现在,我的用于嵌入小程序的 index.php 代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<object type="application/x-java-applet" name="psych-game" width="1080"height="720">
<param name="code" value="app.java" />
<param name="archive" value="PsychGame.jar" />
</object>

我没有收到错误消息,只是收到一个空白页。

这是我第一次使用小程序,所以如果我错过了一个简单的步骤,我深表歉意。感谢您的帮助。

最佳答案

对于小程序,您只能扩展该类一次,然后必须将其传递给其他类,例如:

import java.applet.JApplet;

public class app extends JApplet{

@Override
public void init() {
myJFrame mjf = new myJFrame(this);
}
}

然后对于后续的类,请注意构造函数参数:

import java.applet.JApplet;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class myJFrame {
private final MainMenu main;
private SidePanel side;
private JApplet parent;

public myJFrame(JApplet ja) {
parent = ja;
...
}
...
}

类中的所有使用都以 parent.whatever 开头

关于java - 将我的 Java 应用程序转换为小程序时缺少哪一步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25005361/

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