gpt4 book ai didi

java - 在不知道类型的情况下如何使用类的方法?

转载 作者:行者123 更新时间:2023-12-01 17:23:35 24 4
gpt4 key购买 nike

我有以下问题:我有一个名为 activeCenter 的 JPanel,在使用我的程序时,我会不时在其中保存不同的 JPanel。这些 JPanel 中有一堆 JTextfield、JLabels 和一个 JButton。现在我想获取所有文本字段的文本(数量已知)。我现在的问题是:我使用 for 循环来遍历 JPanel 中的所有组件并检查它是否是 JTextfield。这里的问题是,如果是JTextField,我该如何使用方法getText()?我只有组件,不知道如何使用 JTextField 中的方法。有没有办法解决这个问题,而不必将 JTextFields 保存在数组中?相关代码如下:

button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
for(Component c: activeCenter.getComponents())
{
if(c.getClass() == JTextField.class)
{
//use the Method getText() on c
}
}
}
});

最佳答案

您需要像这样转换您的 c 对象:

String text = null;
if (c instanceof JTextField) {
text = ((JTextField)c).getText();
}

另请注意,您可以使用 instanceof 关键字作为 if 条件。

关于java - 在不知道类型的情况下如何使用类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16758788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com