2014-05-18 156 views
0

以下代碼僅顯示我的一個答案,即TextArea中的1個元素,而不是全部,我希望它是一個列表。while循環和GUI

double s = Double.parseDouble(amount.getText());  
double p = Double.parseDouble(interest.getText())/100;  
double t = Double.parseDouble(period.getText());  
double m=t*12;  
int x=1;  
double lin = s * Math.pow(1+ p, x);  
double anu =s+(s*p*t); 

while(x<=m && JComboBox.getSelectedItem().equals("Anuitetas")) {  
     JTextArea.setText(String.valueOf(anu));  
     x++; 
} 

while(x<=m && JComboBox.getSelectedItem().equals("Linijinis")){  
    JTextArea.setText(String.valueOf(lin));  
    x++; 
} 
+2

那麼你反覆調用'setText',它*會*取代內容。如果你想要一個*列表*,也許你應該尋找一個設計來顯示列表的組件?您還應該更加努力地解決您的問題 - 正確設置代碼格式,並刪除與其無關的所有內容。見http://tinyurl.com/so-hints –

回答

2

JList會顯示所有你的物品,而不是JTextbox這是取代物品,而不是追加它。這只是你如何解決問題的一個例子。

DefaultListModel listModel = new DefaultListModel(); 
JList list = new JList(listModel); 

while(x<=m && JComboBox.getSelectedItem().equals("Linijinis")){ 

    addNewElement(String.valueOf(lin)); 
    x++; 
} 

public static void addNewElement(String elementToAdd) 
{ 
    listModel.addElement(elementToAdd); 
} 
2

不要使用JTextArea#setText,使用JTextArea#append代替

你也應該考慮使用JList相反,其目的是隻是,列表項做...