2013-07-23 28 views
0

我想遍歷每個項目包含一個JList: 的JPanel - JLabel的的Java通過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 =,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); 

所以我想找到的文本「你好」

+0

面板內有什麼文字?什麼屬性? – nachokk

+3

@JBNizet,要求您使用禮貌和專業的語言。 – Sid

+0

嗯,我很抱歉,我還是Java新手。但是,必須能夠以某種方式訪問​​存儲在JPanel中存儲的JLabel – Alosyius

回答

0

那麼你需要的是檢查的元素在JPanel裏面。我的意思是,一個面板是一個UI元素的容器,說,你需要檢查元素,一旦你檢查了你需要比較它是否是一個標籤,如果它是一個標籤,那麼你將能夠獲取該標籤的文字。

你不能告訴我們代碼,如果你提供了代碼片段,可能會更容易。

+0

我已經添加了我用來將Jpanel添加到JList中的代碼:) – Alosyius

+0

對不起,我已經失眠了哈哈哈。檢查(:編輯:好吧,我明白了,這正是我之前說過的。這個鏈接可以幫助你理解你分組組件的方式http://java.ittoolbox.com/documents/how-在jpanel-container-18187中查找組件,這樣你就可以迭代組件並根據你的需要做任何事情。希望它有幫助(: – Omar