2011-02-18 46 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)); 
}