gpt4 book ai didi

Java 删除/添加 JPanel

转载 作者:行者123 更新时间:2023-12-02 06:31:26 25 4
gpt4 key购买 nike

目前我有一个包含两个面板的客户端...一个是主游戏,另一个是包含工具的侧面板。侧面板可以显示/隐藏(从而使框架仅显示游戏)。

            activateSidePanel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (sp) {
frame.remove(enhancedPanel);
frame.repaint();
frame.pack();
sp = false;
} else if (!sp) {
frame.add(enhancedPanel);
frame.repaint();
frame.pack();
sp = true;
}
}
});

这是我的按钮 Action 监听器。该按钮正确隐藏,但不显示。当我再次单击该按钮时,它只会使框架变小,并且不会恢复侧面板。对这个一头雾水。

最佳答案

} else if (!sp) {

为什么要测试!sp? boolean 值只能有两个值,因此您只需要一个 if/else 语句(无需对 else 进行测试。

我会先尝试调用 setVisible(false/true) 方法,而不是删除/添加面板。

如果这不起作用,那么删除/添加组件的一般代码是:

panel.add(...)
panel.revalidate();
panel.repaint();

您不需要调用 pack(),因为您不希望框架不断调整大小,您只希望主面板变大/变小。

关于Java 删除/添加 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20024070/

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