加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 检查CardLayout中是否存在具有名称的卡

发布时间:2020-12-15 08:40:30 所属栏目:Java 来源:网络整理
导读:我有一个CardLayout,我只根据需要添加卡片.因此,当需要显示特定卡(由其名称标识)时,我需要一种方法来检查具有该名称的卡是否已经存在,以便我可以相应地显示或创建它. 根据CardLayout documentation Flips to the component that was added to this layout wi
我有一个CardLayout,我只根据需要添加卡片.因此,当需要显示特定卡(由其名称标识)时,我需要一种方法来检查具有该名称的卡是否已经存在,以便我可以相应地显示或创建它.

根据CardLayout documentation

Flips to the component that was added to this layout with the specified name,using addLayoutComponent. If no such component exists,then nothing happens.

因此,如果我要求它显示尚未添加的卡,则不会抛出任何错误.我找不到任何能让我检查卡是否存在的API.

那么,这可能吗?如果不是如何解决这个问题呢?有一个解决方案,我手动记住我添加了什么卡但感觉摇摆应该能够处理这个.

解决方法

CardLayout API无法检查是否已添加具有给定名称的组件.

如果你真的想这样做(但我强烈建议AGAINST这样做),那么你可以在容器使用的CardLayout上使用反射,并读取它的矢量字段,然后检查每个条目(类型为CardLayout $Card)给定的名称.如你所见,这看起来像一个黑客,如果有一天CardLayout被重构,它可能会破坏(目前的实施非常难看).

最好的方法是直接跟踪Set< String>中所有已添加子项的名称.在某个地方.无论如何,这真的不是什么大不了的事.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读