-1

我正在从事涉及从 gmail 帐户接收我的邮件的项目,我在获取邮件方面没有任何问题。现在我正在制作一个包含按钮和列表的 GUI。该列表基本上包含收到的电子邮件,类似于 gmail 中的电子邮件。如何将收到的邮件放入列表中?任何帮助将不胜感激。谢谢。

4

2 回答 2

2

Swing数据中都与小部件的模型相关联。在您的情况下,您可以使用DefaultListModel(我假设您使用的是JList)。
例子:

final DefaultListModel model = new DefaultListModel();  
final JList list = new JList(model);   
//add elements to model  
for(String subject:emailSubjects){  
   model.add(subject);  
}  

将它们添加到要显示的模型中。
此代码应在 EDT 中。

于 2012-09-22T17:40:52.120 回答
1

如果您想使用 JList,这里是一个可能对您有用的代码示例

public class JListDemo extends JFrame {

private JPanel contentPane;

/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
    public void run() {
    try {
        JListDemo frame = new JListDemo();
        frame.setVisible(true);
    } catch (Exception e) {
        e.printStackTrace();
    }
    }
});
}


public JListDemo() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 150, 303);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);

JList list = new JList();
list.setBorder(new TitledBorder(null, "JList Demo", TitledBorder.LEADING, TitledBorder.TOP, null, null));
list.setModel(new AbstractListModel() {
    String[] values = new String[] { "Google", "Yahoo", "Facebook ",
        "EBay" };

    public int getSize() {
    return values.length;
    }

    public Object getElementAt(int index) {
    return values[index];
    }
});
contentPane.add(list, BorderLayout.CENTER);
}
于 2012-09-22T18:01:25.537 回答