[英]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.