关于DefaultTableModel的用法

要显示JTable组件(需要用到)TableModel接口(需要下面这个类才能实现)DefaultTableModel类

所以思路应该是: 1,先定义一个DefaultTableModel类的对象mm   DefaultTableModel mm = new DefaultTableModel();
2,替换该对象的列  mm.setColumnIdentifiers(columnNames);
3,把该对象mm加入到table里  JTable table = new JTable(mm);

(建议使用这种方法,这种方法可以添加一些控制Jtable行列和单元格的一些属性,详见上条博文)


//或者可以用这句实现table的显示  ((DefaultTableModel)table.getModel()).setColumnIdentifiers(columnNames);
public class JTableTest1 extends JFrame{

 //private Table_Model model = null;
 private JTable table;

 public JTableTest1() {
  //列名,用数组存储
  String[] columnNames = {"列名1","列名2","列名3"};
  //定义一个Vector数组(Vector各个元素由Vector组成,即数组的“二维存储”)
  Vector v = new Vector(3);
  v.add(0,"周杰伦");
  v.add(1,"蔡依林");
  v.add(2,"费玉清");
  //定义一个DefaultTableModel类,来实现TableModel接口
  DefaultTableModel newtablemodel = new DefaultTableModel();
  //用setColumnIdentifiers替换列(或者说设置列名)
  newtablemodel.setColumnIdentifiers(columnNames);
  //将vector添加到DefaultTableModel中,用addRow()方法,这是添加行数据到表格中的方法
  mm.addRow(v);

  
  JTable table = new JTable(newtablemodel);
  //table的getModel()方法返回实现这个table的TableModel类
  //需要把table加入到滑动按钮中才能显示
 
  
  JScrollPane sc = new JScrollPane(table);
  add(new JLabel("                            JTableTest1"),BorderLayout.NORTH);
  add(sc,BorderLayout.CENTER);
     setVisible(true);
     setBounds(100,100,400,300);
 }


 public static void main(String[] args) {
  JTableTest1 jtt=new JTableTest1();

 }

}
 

你可能感兴趣的:(java)