如何把下面得到的好友列表在SWING的JTextArea里显示啊?import java.awt.*;
import java.awt.event.*;
import java.util.Collection;import javax.swing.*;
import javax.swing.border.*; 
import org.jivesoftware.smack.*;import org.jivesoftware.smack.ChatManager; 
import org.jivesoftware.smack.ConnectionConfiguration; 
import org.jivesoftware.smack.MessageListener; 
import org.jivesoftware.smack.RosterEntry;
import org.jivesoftware.smack.XMPPConnection; 
import org.jivesoftware.smack.XMPPException; 
import org.jivesoftware.smack.Chat; 
import org.jivesoftware.smack.packet.Message;public class Gtalk extends JFrame implements ActionListener{
private JLabel accountLabel,passwordLabel;
private JTextField accountField;
private JPasswordField passwordField;
private JButton submitButton,resetButton;

private JPanel submitPanel;

private Roster roster;

public Gtalk(){
createUserInterface();
}

public void createUserInterface(){

Container cp=getContentPane();
cp.setLayout(null);

submitPanel=new JPanel();
submitPanel.setLayout(null);
submitPanel.setBounds(2, 2, 289, 120);
submitPanel.setBorder(new TitledBorder("Welcome To Gtalk!"));
cp.add(submitPanel);

accountLabel=new JLabel();
accountLabel.setBounds(8, 15, 60, 25);
accountLabel.setText("账号:");
submitPanel.add(accountLabel);

accountField=new JTextField();
accountField.setBounds(80, 18, 200, 22);
accountField.setHorizontalAlignment(JTextField.RIGHT);
submitPanel.add(accountField);

passwordLabel=new JLabel();
passwordLabel.setBounds(8, 42, 65, 25);
passwordLabel.setText("密码:");
submitPanel.add(passwordLabel);

passwordField=new JPasswordField();
passwordField.setBounds(80, 44, 200, 22);
passwordField.setHorizontalAlignment(JPasswordField.RIGHT);
submitPanel.add(passwordField);

submitButton=new JButton();
submitButton.setText("登陆");
submitButton.setBounds(218, 80, 62, 24);
submitPanel.add(submitButton);
submitButton.addActionListener(this);

resetButton=new JButton();
resetButton.setText("重置");
resetButton.setBounds(150, 80, 62, 24);
submitPanel.add(resetButton);
submitButton.addActionListener(this);

setTitle("Gtalk!"); 
setSize(300,320); 
setResizable(false); 
setLocation(450,140); 
setVisible(true); 


}

public void actionPerformed(ActionEvent e){
if(e.getSource()==submitButton){
submit();
}
else if(e.getSource()==resetButton){
reset();
}


}

public void submit(){
final String account,password;

if(accountField.getText().length()<4||passwordField.getPassword().length<4){

JOptionPane.showMessageDialog(null,"请输入用户名和密码!");
}
else {
account=accountField.getText();
password=new String(passwordField.getPassword());
try { 
 ConnectionConfiguration config=new ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
            config.setSASLAuthenticationEnabled(true);
            XMPPConnection con=new XMPPConnection(config);
            con.connect();
            con.login(account, password);
            roster=con.getRoster();
            Collection<RosterEntry> entries = roster.getEntries();             for (RosterEntry entry : entries) {
               System.out.println(entry);
            }
}
          catch (XMPPException e) { 
            System.out.println(e.getMessage());
         }
 }



}
public void reset(){


}

public static void main(String[] args){

Gtalk gtalk=new Gtalk();
gtalk.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}



}

解决方案 »

  1.   

    roster=con.getRoster();
                        Collection<RosterEntry> entries = roster.getEntries();                    for (RosterEntry entry : entries) {
                           System.out.println(entry);
                        }
    这段代码是显示好友列表的,我怎么写,才能显示在一个JTextArea里啊?以前碰到过JTextArea.append的用法,不知道对这里的这个,怎么使用,大家帮帮忙
      

  2.   

    请教
    怎么把这结果roster=con.getRoster();
                        Collection<RosterEntry> entries = roster.getEntries();                    for (RosterEntry entry : entries) {
                           System.out.println(entry);
                        }
    写在JList里面?
      

  3.   

    JList list=new JList((Vector)entries);就可以了
      

  4.   


    是这样吗,,还是报错哦前面定义了friendList=new JList();
    friendList.setBounds(8, 110, 100, 350);
    cp.add(friendList);按扭处理
     Collection<RosterEntry> entries = roster.getEntries();
    friendList.setListData((Vector)entries);