如何在java中的列表中显示项目?

时间:2012-09-22 17:35:29

标签: java swing

我正在处理涉及从Gmail帐户接收邮件的项目,我没有收到邮件的问题。现在我正在制作一个有按钮和列表的GUI。该列表基本上保存收到的电子邮件,类似于gmail中的电子邮件。如何将收到的邮件列入清单?任何帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分: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中仅

答案 1 :(得分: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);
}