我要做的是要把一个数组写到jTable中,怎么写啊

解决方案 »

  1.   

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

  2.   

    先要生成他的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));