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);
} 

私が得る出力は次のとおりです。

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 に答える