小さなゲームを設計しようとしていて、JInternalFrame を使用してインベントリを表示しています。私が抱えている問題は、InternalFrame を最小化すると、左下隅のアイコンが、JDesktopPane にも追加されている JPanel の後ろに自動的に隠れることです。ウィンドウを下にドラッグすると (ウィンドウが垂直方向に大きくなります)、デフォルトの灰色の JPanel の下に白い DesktopPane が表示されます。また、下にドラッグすると、InternalFrame のアイコンが表示されます。私は写真を投稿しようとしましたが、私はこのサイトに慣れていないのでできません:(。
moveToFront() および toFront() メソッドを使用して、フレームをアイコン化するために InternalFrameListener をオーバーライドしようとしましたが、何も機能しませんでした。私が悪いデザインを使用していると思われる場合は、遠慮なく教えてください。私はただの学生であり、一般的な慣行についてあまり知識がありません。
これが私のコードです
public class GameTester extends JFrame {
private JDesktopPane pane;
private Inventory i; //class that extends JInternalFrame
public static void main(String[] args) {
GameTester frame = new GameTester();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1280, 720);
}
public GameTester() {
setFocusable(true);
i = new Inventory("Inventory");
GamePanel g = new GamePanel();
g.setBounds(0, 0, 1280, 720);
pane = new JDesktopPane();
pane.add(i);
setContentPane(pane);
getContentPane().add(g);
}
}