繁体   English   中英

从JPanel删除JPanel

[英]Removing JPanel from a JPanel

我有一个包含多个州的游戏的州经理。 现在,在我的一种状态(“菜单”)中,我在一个JPanel中有两个JButton(将JPanel添加到显示所有内容的主JPanel中)。 当我单击JButton“播放”时,我从堆栈中删除了菜单状态。 但是,JButton停留在屏幕上(即使当我peek()看到菜单已从堆栈中删除时)。

我不想从“状态”中删除按钮,因为我希望能够返回“菜单”并在那里再次看到我的按钮。 如何删除按钮以及状态?

您是否考虑过使用CardLayout

CardLayout对象是容器的布局管理器。 它将容器中的每个组件视为卡片。 一次只能看到一张卡片,并且容器就像一堆卡片一样。 首次显示容器时,添加到CardLayout对象的第一个组件是可见组件。

假设每个状态对应一个JComponent ,则可以使用.setVisible(false); 状态删除时隐藏项目的方法。

在这种情况下,初始化主组件时,您要确保已添加所有组件-然后在添加/删除状态时,只需切换可见性即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM