У меня есть игровое приложение, которое я буду запускать в веб-браузере с помощью тега.Эта программа имеет JFrame, который отображает пару вкладок, позволяющих перемещаться по всей программе.Когда я запускаю программу локально, она будет работать нормально, отображая JFrame и работая полностью.Однако, когда я загружаю его на хост и просматриваю его ссылку, JFrame не будет отображаться ..
Я искал около 3 часов и просто не смог предоставить правильные ключевые слова для моей сиутации.Все, что я могу получить в результатах, это то, что JFrame вообще не отображается ни локально, ни в веб-приложении.
Вот как выглядит клиент, когда я запускаю его локально из того же .jar:
Так выглядит клиент в веб-браузере (пробовал IE, FF и Chrome):
Applet.java:
public class Client extends RSApplet {
public static void main(String args[]) {
try {
instance = new Client();
new UserInterface(args);
} catch(Exception e) {
e.printStackTrace();
}
}
}
GUI.java
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);
}
}