gpt4 book ai didi

java - 为什么我的 JFrame 没有出现在基于 Web 的 Java 应用程序中?

转载 作者:行者123 更新时间:2023-12-04 06:26:17 25 4
gpt4 key购买 nike

我有一个游戏应用程序,我将使用该标签在 Web 浏览器中运行该应用程序。
这个程序有一个 JFrame,它显示了几个选项卡,允许在整个程序中导航。
当我在本地运行程序时,它会正常工作,显示 JFrame 并完整工作。
但是,当我将它上传到主机并访问它的链接时,JFrame 不会显示..

我已经搜索了大约 3 个小时,根本无法为我的情况提供正确的关键字。
我能在结果中得到的只是 JFrame 根本没有出现在本地或 Web 应用程序中。

这是我从同一个 .jar 在本地运行客户端时的样子:

Picture - Local

这是客户端在 Web 浏览器中的外观(尝试过 IE、FF 和 Chrome):

Picture - Web

小程序.java:

public class Client extends RSApplet {

public static void main(String args[]) {
try {
instance = new Client();
new UserInterface(args);
} catch(Exception e) {
e.printStackTrace();
}
}

}

图形用户界面
public class GUI extends Applet implements ActionListener, WindowListener, FocusListener {

public UserInterface(String args[]) {
try {
/* ------------------------------------------------------------------------ */
/* Metal */
/* UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); */
/* System Look */
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
/* ------------------------------------------------------------------------ */
initGUI();
} catch (Exception ex) {
ex.printStackTrace();
}
}

public void initGUI() {
try {
JFrame.setDefaultLookAndFeelDecorated(true);
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
frame = new JFrame(frameTitle);
frame.setLayout(new BorderLayout());
Image icon = Toolkit.getDefaultToolkit().getImage(iconDir);
frame.setIconImage(icon);
gamePanel = new JPanel();
gamePanel.setLayout(new BorderLayout());
gamePanel.add(this);
gamePanel.setPreferredSize(new Dimension(850, 600));
frame.getContentPane().add(gamePanel, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
if (loggedIn == false) {
System.exit(0);
} else {
if (showMessage("Are you sure you want to close the game?") == true) {
System.exit(0);
} else return;
}
}
});
initMenuBar();
frame.pack();
frame.setVisible(true);
frame.setResizable(true);
} catch (Exception e) {
e.printStackTrace();
}
}

public void initMenuBar() {
menuBar = new JMenuBar();
/** File **/
fileMenu = new JMenu("File");
String[] fileMenuItems = {
"Quit"
};
menuBar.add(fileMenu);
/** Quick Links **/
linksMenu = new JMenu("Quick Links");
String[] linksMenuItems = {
"Home", "News", "Donate"
};
menuBar.add(linksMenu);
frame.getContentPane().add(menuBar, BorderLayout.NORTH);
}

}

最佳答案

您是否试图将应用程序放在网页上,我的意思是作为 Web 应用程序运行。如果是,那么您需要 Applet 或 JApplet 而不是框架。框架可以正常工作,但是如果您要将其添加到网站,则需要将其设为小程序。使用下面的链接..

se6 的 JApplet 类- http://download.oracle.com/javase/6/docs/api/javax/swing/JApplet.html
JApplet/Applet 教程 -- http://download.oracle.com/javase/tutorial/uiswing/components/applet.html

祝你好运

关于java - 为什么我的 JFrame 没有出现在基于 Web 的 Java 应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6010925/

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