jlist中的java向量数据?
我正在尝试在jlist中以矢量显示数据。下面的方法connect()
执行得很好,调用时没有任何错误,但向量数据不显示在jlist中。我的代码是:
public void connect(String user, String pass)
{
vdate = new Vector();
vsubject = new Vector();
vfrom = new Vector();
vmessage = new Vector();
final String password = pass;
final String username = user;
try
{
props = new Properties();
props.setProperty("mail.host", "imap.gmail.com");
props.setProperty("mail.port", "995");
props.setProperty("mail.transport.protocol", "imaps");
session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username,password);
}
});
store = session.getStore("imaps");
store.connect();
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
Message messages[] = inbox.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));
for (int i = 0; i < messages.length; i++)
{
Message message = messages[i];
Address[] from = message.getFrom();
frm = from[0].toString();
vfrom.addElement(frm);
date = message.getSentDate().toString();
vdate.addElement(date);
Multipart mp = (Multipart)message.getContent();
BodyPart bp = mp.getBodyPart(0);
mess = ""+bp.getContent();
subject = message.getSubject().toString();
vsubject.addElement(subject);
}
jList1.setListData(vdate);
jList2.setListData(vsubject);
jList3.setListData(vfrom);
} catch (Exception mex) {
mex.printStackTrace();
}
}
for循环执行得很好。数据也存储在vector中,但当我将其设置为jlist时,没有显示任何内容。。。。。。。。plz帮助
# 1 楼答案
每次调用
setListData(...)
方法时,JList中的数据都会被替换。因此,最好的情况是,您将获得vFrom向量中的数据只需对所有数据使用一个向量