怎么样把一个数组写到一个jTable中啊

luruifang 2007-11-09 05:53:16
我要做的是要把一个数组写到jTable中,怎么写啊
...全文
117 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
luruifang 2007-11-10
  • 打赏
  • 举报
回复
dd
luruifang 2007-11-10
  • 打赏
  • 举报
回复
谢谢了
sharpyuce 2007-11-09
  • 打赏
  • 举报
回复
先要生成他的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));
myidd00701 2007-11-09
  • 打赏
  • 举报
回复
JTable aaa=new JTable(object[][] obj1,object[] obj2);

上面的obj2是JTable的列名,obj1是JTable的数据,这是表格生成时候赋值的,如果想动态写入的话,如下代码:


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的外观,就必须获得其模型才可以~

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧