[jtable]读取外键文件(包括word,并现实文件图标)

点击打开链接
import javax.swing.*;  
import javax.swing.filechooser.FileSystemView;  
import javax.swing.table.DefaultTableModel;  
import javax.swing.table.TableCellRenderer;  
import javax.swing.table.TableModel;  
import java.awt.*;  
import java.io.File;  
import java.util.Vector;  
  
/** 
 * 添加外部文件 
 */  
public class IconAndTextTable extends JFrame{  
    private JTable  table = null;  
   // String filePath = "D:\\luckystar2008\\works\\QDII\\SR\\副本投资核算系统科目(含外币)__2013_06_17.xlsx";  
    String filePath = "C:\\Users\\Administrator\\Desktop\\duankai.jpg";
    public void init() {  
        setSize(500,300);  
        setTitle("显示图片和文本的表格");  
        setLocationRelativeTo(null);  
        setVisible(true);  
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);  
        initComponents();  
        pack();  
    }  
  
   public void initComponents() {  
       String[] columnNames = new String[]{"编号","文件"};  
  
       Object[][] data = new Object[5][2];  
       Icon icon = getFileIcon(filePath);  
       data[0][0] = 10001;  
       JLabel label = new JLabel(filePath.substring(filePath.lastIndexOf("\\")+1,filePath.length()));  
       label.setIcon(icon);  
       data[0][1] = label;  
       TableModel tm = new DefaultTableModel(data,columnNames);  
       table = new JTable(tm);  
       table.setAutoscrolls(true);  
       table.getColumnModel().getColumn(0).setPreferredWidth(50);  
       table.getColumnModel().getColumn(1).setPreferredWidth(300);  
       table.getColumnModel().getColumn(1).setCellRenderer(new JTableCellRender());  
  
       JScrollPane jsp = new JScrollPane(table);  
       getContentPane().add(jsp);  
   }  
  
   private Icon getFileIcon(String filePath) {  
       File f = new File(filePath);  
       if (f.exists()) {  
           FileSystemView fsv = FileSystemView.getFileSystemView();  
           Icon icon = fsv.getSystemIcon(f);  
           return icon;  
       }  
       return null;  
   }  
  
    public static void main(String[] args) {  
        IconAndTextTable iatt = new IconAndTextTable();  
        iatt.init();  
    }  
}  
  
class JTableCellRender extends JLabel implements TableCellRenderer {  
    @Override  
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {  
        return (JLabel)value;  
    }  
}
不知道为什么在我上面会报错

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值