我有一个带有jlabels,jbutton等的mant组件的分层pane2我想在组件中循环,如果组件是jlabel,请获取文本。我怎样才能做到这一点?到目前为止,这是我的代码:
//search the components
for (int j=0; j<jLayeredPane2.getComponents().length; j++){
//if it is a jlabel
if ("class javax.swing.JLabel".equals(jLayeredPane2.getComponent(j).getClass().toString())){
//HOW DO I GET THE LABEL TEXT??
}
}
您想要instanceof
关键字,然后是铸件:
if(jLayeredPane2.getComponent(j) instanceof JLabel) {
JLabel label = (JLabel)jLayeredPane2.getComponent(j);
String text = label.getText();
//...Then do whatever you want to do with said text.
}
根据jlabel文档,您可以使用getText()
方法检索标签文本。
String labelText = ((JLabel) jLayeredPane2.getComponent(j)).getText();
要检查组件是否是jlabel,您可以使用比较
if (jLayeredPane2.getComponent(j) instanceof JLabel) { }
正如这个问题所建议的那样。
您的最终代码将是这样的:
if (jLayeredPane2.getComponent(j) instanceof JLabel) {
Label label = (JLabel) jLayeredPane2.getComponent(j);
String labelText = label.getText();
}