JTable显示图片

编程入门 行业动态 更新时间:2024-10-09 22:20:17

JTable显示<a href=https://www.elefans.com/category/jswz/34/1770705.html style=图片"/>

JTable显示图片

显示的效果:

 

代码:

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;/*** Created with IntelliJ IDEA.* User: luckystar2008* Date: 13-6-18* Time: 下午1:56* To change this template use File | Settings | File Templates.*/
public class IconAndTextTable extends JFrame{private JTable  table = null;String filePath = "D:\\luckystar2008\\works\\QDII\\SR\\副本投资核算系统科目(含外币)__2013_06_17.xlsx";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 {@Overridepublic Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {return (JLabel)value;}
}


更多推荐

JTable显示图片

本文发布于:2024-02-13 04:08:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1690615.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:图片   JTable

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!