/**
 * 
 */
package com.niit.javagui;

import java.util.Vector;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 * @author: Annie
 * @date:2016年5月31日
 * @description:
 */
public class JTabelDemo extends JFrame{

    public static void main(String[] args) {
        new JTabelDemo();
    }
    JTable tabel;
    JPanel jp;
    MyDateModel model;
    ImageIcon img1,img2,img3;
    
    public JTabelDemo() {
        setVisible(true);
        setSize(400, 400);
        setTitle("JTabelDemo");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //标题数组
        String [] columns = {"照片","学号","姓名","年龄","专业"};
        
        //项目的相对路径./代表项目名称
                img1 = new  ImageIcon("./src/picture/dm.png");
                img2 = new  ImageIcon("./src/picture/dm.png");
                img3 = new  ImageIcon("./src/picture/dm.png");

        //数据数组
        Object [][] data = {
                {img1,"1001","张三","30","软件"},
                {img2,"1002","李四","18","计算机"},
                {img3,"1003","麻子","25","不详"}
        };
        
        model = new MyDateModel(data,columns);
        jp = new JPanel();
        //table = new (data,columns);//没有图片时的实例化
        tabel = new JTable(model);//存在图片时的实例化
        tabel.setRowHeight(100);
        
        JScrollPane scrollPanel = new JScrollPane(tabel);
        jp.add(scrollPanel);
        add(jp);
    }

}

//显示一张图片
class MyDateModel extends DefaultTableModel{
    
    public MyDateModel(Object[] names ,int row) {
        super(names,row);
    }
    public MyDateModel(Object [][]data,Object[]names) {
        super(data,names);
    }
    @Override
    public Class<?> getColumnClass(int col) {
        //返回某一列的对应的类型
        Vector<?> v = (Vector<?>) dataVector.elementAt(0);
        return v.elementAt(col).getClass();
    }
    
}

效果图:

 

posted on 2016-05-31 13:00  王铭霞  阅读(267)  评论(0编辑  收藏  举报