2009-09-11 17 views
0

我只是试图找出在Java中复制Windows'Forms.Panel相当有用的功能的最佳方法。基本上,当你禁用Windows Forms.Panel时,所有子控件都被设置为禁用。但是,它们的启用属性为保留,使得当Panel再次启用时,在面板禁用之前禁用的任何子控件,仍然禁用绑定组件<->容器(启用属性)

我可以为JPanel添加属性侦听器,以便在启用属性发生更改时触发,然后遍历所有JPanel的组件并将其设置为禁用,但这不会保留组件的启用属性。

有什么建议吗?

回答

2

更复杂的解决方案可以在Disabled Panel条目中找到。在内部,它使用mlk建议的集合来跟踪启用的组件。即使您不喜欢建议的解决方案,您仍然可以使用Swing Utils类轻松获取面板上的所有组件。

1

将禁用的组件存储在集合中,并在重新启用它们时检查此集合。

相关问题