2012-03-15 44 views
-2

一個問題,我有型EventBean的一些最新的矢量,而顯示我使用的顯示overwritting所有其他數據向量只有最後一個值的labelField:面臨的labelField

for (int i = 0; i < vector.size(); i++) { 

EventsBean bean1 = (EventsBean) vector.elementAt(i); 

if (bean1.getUserDate().equals(label1.getText())) { 

summaryLabel.setText("SUBJECT Saved"); 

labelListener.setText(bean1.getSummary()); 

startDateLabel.setText("START DATE Saved"); 

labelListener1.setText(bean1.getStartDate()); 

endDateLabel.setText("END DATE Saved"); 

labelListener2.setText(bean1.getEndDate()); 
} 

的標籤在構造函數中創建爲

labelListener = new LabelField("", 
             LabelField.FIELD_LEFT); 
    add(labelListener); 
+0

什麼ü想要做什麼? – Hasmukh 2012-03-16 05:29:25

+0

我想你想顯示矢量的價值嗎? – Hasmukh 2012-03-16 05:40:32

回答

0

您正在添加一些labelfield並在for循環中設置字段的文本。循環運行時,它將爲矢量中的每個項目設置labelfield。當循環結束時,labelfields將顯示最後一項的文本,這些文本顯然會覆蓋之前項目的值。

+0

我沒有得到如何解決這個問題 – user1195292 2012-03-15 18:36:34

0

您需要創建labelListener本地 執行以下操作:

for (int i = 0; i < vector.size(); i++) { 

EventsBean bean1 = (EventsBean) vector.elementAt(i); 

if (bean1.getUserDate().equals(label1.getText())) { 

LabelField labelListener=new LabelField(); 
summaryLabel.setText("SUBJECT Saved"); 

labelListener.setText(bean1.getSummary()); 

startDateLabel.setText("START DATE Saved"); 

labelListener1.setText(bean1.getStartDate()); 

endDateLabel.setText("END DATE Saved"); 

labelListener2.setText(bean1.getEndDate()); 
add(labelListener); 
}