DefaultTableModel model = new DefaultTableModel()// 新建一个默认数据模型
JTablt table = new JTable(model)// 用数据模型创建JTable,JTable会自动监听到数据模型中的数据改变并显示出来
JScrollPane jsp = new JScrollPane(table)// 用列表创建可滚动的Panel,把这个Panel添加到窗口中
Vector row = new Vector()// 数据行向量,使用它的add()添加元素,比如整数、String、Object等,有几行就new几个行向量
Vector data = new Vector()// 数据行向量集,因为列表不止一行,往里面添加数据行向量,添加方法add(row)
Vector names = new Vector()// 列名向量,使用它的add()方法添加列名
model.setDataVector(Vector data, Vector names)// 设置模型中的元素,它会自动显示在列表中
编写该JTable的TableModel的String getColumnName(int columnIndex)方法//传进来的是列的索引值
//返回该列的列名
//给JTable设置好TableModel后,这个方法由系统自动调用
//显示在JTable中
public String getColumnName(int columnIndex){
return "你想要设置的对应列的列名"
}
eg.:
public String getColumnName(int columnIndex){
if(columnIndex == 1) return "索引值为 1 的列的名字"
if(columnIndex == 2) return "索引值为 2 的列的名字"
...
}
给你个例子看看吧 刚才 别人问的import javax.swing.*
import java.awt.*
import java.util.*
@SuppressWarnings("serial")
public class Vectordemo extends JFrame {
JScrollPane jspane
Vector<Vector<Object>>vector1 = new Vector<Vector<Object>>()
JTable table
public Vectordemo() {
super("VectorExample")
this.getContentPane().setLayout(new BorderLayout())
Vector<String>vector2 = new Vector<String>()
vector2.add("编号")
vector2.add("书名")
vector2.add("作者")
vector2.add("出版社")
vector2.add("ISBN")
vector2.add("定价")
for (int i = 0i <10i++) {
Object date[] = { i + 1, "程序设计", "科学", "清华大学出版社", "2345", "39.5" }
Vector<Object>vector3 = new Vector<Object>()
for (int j = 0j <date.lengthj++) {
vector3.add(date[j])
}
vector1.add(vector3)
}
table = new JTable(vector1, vector2)
jspane = new JScrollPane(table)
this.add(jspane, BorderLayout.CENTER)
this.setSize(360, 200)
this.setVisible(true)
}
public static void main(String args[]) {
new Vectordemo()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)