我在業餘時間用Java編寫了一個遊戲原型類型。這場比賽只是爲了我的教育目的。我可以通過Web上的JNLP啓動文件以及我的主機上的JFrame正常工作。JApplet不會在瀏覽器中啓動JComponent,在Eclipse中工作
我的主要目的是通過使用JApplet在網頁瀏覽器中使這種原型可播放。我編寫了一個名爲AppletPlayer.java的類。這個課程的目的是爲我的遊戲的主要課程實質上起到啓動器的作用。該AppletPlayer.java文件如下相當多:
public class AppletPlayer extends JApplet {
private Game myGame_; // This is my game's main class
private boolean started_ = false;
public void init() {}
public void start() {
if (!started_) {
started_ = true;
myGame_ = new Game();
this.setContentPane(myGame_);
myGame_.start() // I set focusable, and enabled to 'true' in the Game's start method
// My Game class has no init method. Just a start method that spawns a new thread, that the game runs in
}
}
現在,遊戲類本身擴展JComponent的,並實現Runnable,KeyListener的,和的FocusListener。如果我通過Eclipse啓動AppletPlayer,它就像Applet Viewer中的魅力一樣。然而,當我部署到Web我看到兩件事情:
- 在Windows XP計算機的小程序加載,撐卡主標題屏幕上,從來沒有獲得焦點,因此從來沒有註冊任何類型的用戶輸入。
- 在Applet加載的Windows 7計算機上,我聽到我遊戲的音樂,但Applet屏幕本身渲染一個普通的白色盒子,沒有其他東西。
這些問題都發生在IE和Firefox中。
我一直在細讀Google和StackOverFlow一段時間,試圖挖掘一個解決方案,但沒有任何運氣。我對Applets有點不熟悉,並且希望能夠朝正確的方向發展。
看看Java控制檯 - 它可能會提供一些有用的輸出。 – 2011-03-27 15:40:16