实现JTable列的显示和数据添加(历史上最简单的小例子了)

来源:互联网 发布:js 字体颜色渐变 编辑:程序博客网 时间:2024/04/27 18:31

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.ColorModel;
import java.util.Vector;

import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumnModel;
//要显示JTable组件(需要用到)TableModel接口(需要下面这个类才能实现)DefaultTableModel类

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


//或者可以用这句实现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 mm = new DefaultTableModel();
  //用setColumnIdentifiers替换列(或者说设置列名)
  mm.setColumnIdentifiers(columnNames);
  //将vector添加到DefaultTableModel中,用addRow()方法,这是添加行数据到表格中的方法
  mm.addRow(v);

  
  JTable table = new JTable(mm);
  //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();

 }

}

 走过路过看过留下请你的足迹!谢谢合作!