0

我正在尝试遍历每个项目包含的 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,invalid,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=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);

所以我想找到的文字是“你好”

4

1 回答 1

0

然后,您需要检查该 JPanel 中的元素。我的意思是,面板是 UI 元素的容器,也就是说,你需要检查元素,一旦你检查了你需要比较它是否是一个标签,如果它是一个标签,那么你将能够获取该标签的文本。

您不能向我们展示代码吗,如果您提供代码段可能会更容易。

于 2013-07-23T15:03:32.380 回答