我正在使用java中的项目,我有一个Vector,其中包含包含JTextFields,CheckBoxes或blobs的对象。现在我需要能够从这样的文本字段中获取文本属性。
我有这段代码:
for(int i = 0; i < gridValues.size(); i++) {
Object value = gridValues.elementAt(i);
if (value instanceof JTextField)
{
}
}
我不确定如何从值Object获取文本。当我在列表中查看JTextField类型的第一个项目时,它会出现在if语句中,但现在我应该从tis对象获取text属性,但我不知道如何。 gridValues是带有可能的文本字段,复选框和blob的Vector。
答案 0 :(得分:2)
根据the javadoc,可以通过调用JTextComponent
方法获取getText()
的文字。
答案 1 :(得分:0)
首先将值转换为JTextField,然后在其上调用getText()
,您将从value获取文本:
// after checking that value in fact refers to a JTextField
String text = ((JTextField)value).getText();
如,
if (value instanceof JTextField) {
String text = ((JTextField)value).getText();
// here use text for whatever it's needed for
}
但你应该考虑改变你的程序设计,因为它在集合中使用混合类型会产生一个非常脆弱的程序,换句话说,一个程序很可能在任何时候发生微小变化时都会有错误。