我正在尝试迭代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,无效,布局= java.awt.FlowLayout中,alignmentX = 0.0,alignmentY = 0.0,边界=,旗帜= 9,MAXIMUMSIZE =,=的minimumSize,首选大小=]
相反,我想访问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);
所以我想找的文字是“你好”
答案 0 :(得分:0)
然后你需要检查JPanel中的元素。我的意思是,面板是一个UI元素的容器,说,你需要检查元素,一旦你检查了你需要比较它是否是一个标签,如果它是一个标签,那么你将能够获取该标签的文本。
您无法向我们展示代码,如果您提供代码段可能会更容易。