【发布时间】:2015-07-22 23:52:42
【问题描述】:
我有一个使用 java GUI 创建的 jtable,我需要从数组列表中填充。我不熟悉java,也不知道如何填写jTable。我不知道我是否需要使用 TableModel 或只使用 JTable table = new JTable(data, columnNames)。这是我的代码:
public void filltable(){
ArrayList A=new ArrayList();
jframe4 j=new jframe4();
String m=j.getloggedemail();
// A=s.getEmails(m);
//this is an example of my arraylist
A.add("sender@gmail.com");
A.add("my subject");
A.add("hiiii");
try {
String[] columnNames = {"Sender",
"Subject",
"Body",
};
//here I need to fill my table
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
这是我需要填写的jTable1的声明:
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null}
},
new String [] {
"Sender", "Subject", "Body"
}
));
jScrollPane1.setViewportView(jTable1);
【问题讨论】:
-
有了list,填表比较麻烦。如何定义一行。一行将有一组字段。在列表中你将如何分成行。?
-
A.add("sender@gmail.com"); A.add("my subject"); A.add("hiiii");这些不应该是ArrayList的连续行/元素,而是单个Email对象的属性。然后,您可以从Email对象的集合创建一个表模型。 -
我投票决定将此问题作为离题结束,因为此任务在 Java 教程中通过How to Use Tables: Creating a Table Model 得到了很好的描述。
标签: java swing arraylist jtable jframe