gpt4 book ai didi

java - JInternalFrame 图标在最小化时移动到 JPanel 下方

转载 作者:行者123 更新时间:2023-11-30 09:30:45 27 4
gpt4 key购买 nike

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

最佳答案

尝试这样的事情怎么样:

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JPanel;


public class GameStarter extends JFrame {

private JDesktopPane pane = new JDesktopPane();
private JInternalFrame i = new JInternalFrame();

private JPanel panel = new JPanel();

public static void main(String[] args) {
GameStarter frame = new GameStarter();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1024,768);
frame.setVisible(true);
}

public GameStarter() {
setLayout(new BorderLayout());
i.setClosable(true);
i.setIconifiable(true);
i.setMaximizable(true);
i.setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE);
i.setSize(320,240);
i.setVisible(true);
pane.setPreferredSize(new Dimension(1024,320));
pane.setBackground(Color.GRAY);
pane.add(i);
panel.setBackground(Color.YELLOW);

add(pane,BorderLayout.SOUTH);
add(panel,BorderLayout.CENTER);
}
}

enter image description here

我个人认为在JDesktopPane上添加JPanel的想法是不好的。

关于java - JInternalFrame 图标在最小化时移动到 JPanel 下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13144305/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com