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