2011-02-18 45 views
0

我的地址簿程序有問題。我查看了地址簿中的所有條目,但它們顯示在不同的對話框中。第一個條目將顯示在第一個對話框中,然後如果我單擊「確定」,則下一個條目將顯示在另一個對話框中。我想要在一個對話框中顯示所有條目。如何將數據全部追加到一個對話框中?

這裏是我的getter方法:

public String getInfo(){ 
     String Info = "NAME\tADDRESS\tPHONE NO.\tE-MAIL ADD\n" + 
       name +"\t " + add +"\t "+ phoneNo +"\t "+ email +"\n"; 
     return Info; 
    } 

這裏就是我展示的所有信息:

public void viewAll() { 
     for (int i = 0; i < counter; i++) { 
      JOptionPane.showMessageDialog(null, new JTextArea(entry[i].getInfo())); 
     } 
    } 

希望你能幫助我...在此先感謝:)

+0

這樣做,不知道是什麼......這是你的問題 – 2011-02-18 14:16:17

+2

這正是我期望看到你的代碼。循環顯示所有條目,並在每個條目的消息對話框中顯示每條條目。你的意圖是什麼?什麼行爲不符合你的期望? – Axel 2011-02-18 14:16:57

回答

2

爲了查看一個對話框中的所有條目,您可以嘗試創建一個將所有條目加起來的字符串。見我的代碼如下:

public String getInfo() { 
    String content = "\t" + name + "\t"+ address + "\t\t" + telNo + "\t" + email; 
    return content; 
} 


public class AddressBook 
public void viewAllEntry() { 
     String addText = "NO\tNAME\tADDRESS\t\tTEL.NO\tEMAIL\t\n"; /<------HERE 
     for (int i = 0; i < addressBookEntryCounter; i++) { 
      addText = addText+(i+1)+ entry[i].getInfo()+ "\n";  /<------HERE 
     } 
     JOptionPane.showMessageDialog(null, new JTextArea(addText)); 
    } 

} 

您也可以嘗試ninesided的解決方案

2

我會在這裏拿一個在黑暗中刺野 - 要顯示在相同的所有聯繫人信息JOptionPane:

public void viewAll() { 
    StringBuffer contactList = new StringBuffer(); 
    for (int i = 0; i < counter; i++) { 
     contactList.append(entry[i].getInfo()); 
     contactList.append("\n"); 
    } 
    JOptionPane.showMessageDialog(null, new JTextArea(contactList)); 
}