0

ゲーム内ウィンドウを作成するにはどうすればよいですか?

簡単に言うと、ゲームを作っています。ゲームのウィンドウは全画面表示ではなく、1000 x 800 ピクセルしかありません。このゲームでは、ゲーム内ウィンドウ用のブループリント クラスを作成しています。これにより、インベントリ、ストア、メイン メニューなど、考えられるほとんどすべてのウィンドウを作成できます。それで、私は を使ってみましJDialogsたが、それらは別々のウィンドウであり、メインパネルにペイントしたいのです... のようなものですJLabelが、ウィンドウとして。私は多くのグーグル検索を行っており、前述のダイアログやラベルなど、さまざまなことを試しましたが、これを行う方法がわかりません. 必要なのはゲーム内のウィンドウ/メニューだけです。誰もこれを行う方法を知っていますか? 前もって感謝します!

追加情報: Guild Wars 2 または World of Warcraft をプレイしたことがある人なら、私が話していることを知っているでしょう。個別の在庫ウィンドウや店舗ウィンドウなどについて考えてください。

編集:コメントが示唆したことを試しましたが、新しいパネルを初期化する方法は次のとおりです:

setSize(w, h);
setLayout(null);
setBackground(new Color(0, 0, 0, 0));

そして、このパネルを使用して追加しましたmainFrame.add(new GameMenu());が、何も起こりません。mainメソッドでフレームを作成するときは、次のようにします。

f = new Frame();
core.setFrame(f);
f.add(new GameMenu());
f.add(new Panel()); //panel is the main game panel
f.setVisible(true);

そして、それは表示され、問題なく動作します。では、これの違いは何ですか? また、最初の方法が機能せず、2 番目の方法が機能するのはなぜですか?

4

2 に答える 2

0

JInternalFrameあなたが探しているものかもしれません。内部フレームは通常 に追加されJDesktopPaneますが、そのオーバーヘッドが必要ない場合にも機能します。Java チュートリアルには、優れた紹介があります。

于 2013-06-11T16:19:00.003 に答える
0

理解した!私がしなければならなかったのは、より小さなJPanelを作成することだけでした(XDを実行できるとは知りませんでした)。でも助けてくれてありがとう

于 2013-08-04T18:15:20.627 に答える