我正在尝试迭代JList,其中每个项都包含:JPanel-JLabel
目前我拥有的是:
System.out.println("Reading all list items:");
System.out.println("-----------------------");
for (int i = 0; i < menuList.getModel().getSize(); i++) {
Object item = menuList.getModel().getElementAt(i);;
System.out.println("Item = " + item);
}
我得到的输出是:
项目=javax.swing.JPanel[,0,0,0x0,无效,layout=java.awt.FlowLayout,alignmentX=0.0,alignment Y=0.0,border=,flags=9,maximumSize=,minimumSize=、preferredSize=]
相反,我想访问JPanel中的文本。
这是怎么做到的?
编辑:这就是我如何将我的JPanel添加到JList
menuList = new JList(v);
v = new Vector <String> ();
menuList.setListData(v);
.....
// get our images
Icon pingImage = new javax.swing.ImageIcon(getClass().getResource("/resources/icnNew.png"));
// add the images to jlabels with text
JLabel pingLabel = new JLabel("Hi there", pingImage, JLabel.LEFT);
// create the corresponding panels
JPanel pingPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
// add the labels onto the panels
pingPanel.add(pingLabel);
v.add(pingPanel);
所以我想找到的文本是"你好"
然后您需要检查JPanel中的元素。我的意思是,面板是UI元素的容器,也就是说,你需要检查元素,一旦检查了元素,你就需要比较它是否是标签,如果它是标签,那么你就可以获得该标签的文本。
你不能给我们看代码吗?如果你提供代码片段,可能会更容易。