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