我正在尝试设计一个小游戏,并使用 JInternalFrame 来显示库存。我遇到的问题是,当我最小化 InternalFrame 时,左下角的图标会自动隐藏在 JPanel 后面,该 JPanel 也添加到 JDesktopPane 中。当我向下拖动窗口(使窗口垂直变大)时,白色的 DesktopPane 在默认的灰色 JPanel 下方可见。此外,当我向下拖动时,会显示 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);
}
}