【发布时间】:2016-11-21 14:59:52
【问题描述】:
我正在处理许多 JDialog 组件,以寻找具有特定客户端属性的特定类型。我了解如何检查客户端属性,但找不到将组件类型作为字符串返回的方法。我想做这样的事情:
Component[] fields = timeLineDialog.getContentPane().getComponents();
for (Component field : fields) {
if (field.<getType>.equals("JComboBox") {
.
.
.
}
我可以得到组件,但我不知道如何确定类型。我可以使用什么方法? TIA。
【问题讨论】:
-
getClass().getName() 返回运行时类名。但是java推荐使用instanceof指令。
-
您的请求听起来像是您遇到了设计问题。阅读 MVC/MVVC 模式,然后更改您的代码,以便您可以在输入组件上使用 Listeners 来更改模型,而不是让一个像上帝一样的类来做所有这些。
-
我看了一下,但我不确定这将如何帮助我在需要时找到特定组件。
标签: java components jdialog