先要生成他的JTableModel 写一个Model类implements abstractJTableModel 实现他的3个方法 例如我写一个学生类,这个类有4个属性; //Student.java class Student{ private String name; private String gender; private int age; private int score; public Student(String name, String gender, int age, int score) { super(); this.name = name; this.gender = gender; this.age = age; this.score = score; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } }//TableModelForArray.java 写一个JTableModel类 class TableModelForArray extends AbstractTableModel{ private Student[] arr;
public TableModelForArrayList(Student[] arr){ this.arr=arr; } @Override public String getColumnName(int index) { switch(index){ case 0:return "姓名"; case 1:return "性别"; case 2:return "年龄"; case 3:return "成绩"; default:return null; } } public int getColumnCount() { return 4; } public int getRowCount() { return arr.length; } public Object getValueAt(int row, int col) { Student s= arr[row]; switch(col){ case 0:return s.getName(); case 1:return s.getGender(); case 2:return s.getAge(); case 3:return s.getScore(); } return null; } }//生成JTable Student[] stus = {.................}; JTable table =new JTable(new TableModelForArray(stus));
JTable table =new JTable(1,4); //生成个1行4列的表格
DefaultTableModel dtm=(DefaultTableModel)table.getModel();//获取表格的DefaultTableModel对象
Object[] rowData=("xxx","xxx","xxx","xxx");//存放数据的数组
dtm.addRow(rowDate);//插入行
dtm.removeRow(3);//删除行
小tips:JTable 的外观是通过一个模型来控制的,这是一种MVC模式,要改变JTable的外观,就必须获得其模型才可以~
写一个Model类implements abstractJTableModel 实现他的3个方法 例如我写一个学生类,这个类有4个属性;
//Student.java
class Student{
private String name;
private String gender;
private int age;
private int score;
public Student(String name, String gender, int age, int score) {
super();
this.name = name;
this.gender = gender;
this.age = age;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}//TableModelForArray.java 写一个JTableModel类
class TableModelForArray extends AbstractTableModel{
private Student[] arr;
public TableModelForArrayList(Student[] arr){
this.arr=arr;
}
@Override
public String getColumnName(int index) {
switch(index){
case 0:return "姓名";
case 1:return "性别";
case 2:return "年龄";
case 3:return "成绩";
default:return null;
}
} public int getColumnCount() {
return 4;
} public int getRowCount() {
return arr.length;
} public Object getValueAt(int row, int col) {
Student s= arr[row];
switch(col){
case 0:return s.getName();
case 1:return s.getGender();
case 2:return s.getAge();
case 3:return s.getScore();
}
return null;
}
}//生成JTable
Student[] stus = {.................};
JTable table =new JTable(new TableModelForArray(stus));