代码如下 String[] cols = new String[] { "主键", "站号", "识别序号", "识别时间", "车辆颜色",
"车辆类型", "车牌号码", "识别器IP", "设备编号", "车牌图片", "附加信息", "识别日期" };
public void setTabledata(Vector row, int count) {
this.setRowcount(count);
for (int i = 0; i < row.size(); i++) {
dtm.addRow((Vector) row.get(i));
}
for (int i = 0; i < dtm.getRowCount(); i++) {
for (int j = 0; j < dtm.getColumnCount(); j++) {
if (j == 9) {
ImageIcon image = new ImageIcon(((byte[])
((Vector) dtm.getDataVector().get(i)).get(j)));
((MyImageLabel) ((JLabel) ((Vector) dtm.getDataVector()
.get(i)).get(j))).setIcon(image);
}
}
}
}

解决方案 »

  1.   

    你如果想在表格中显示图片肯定要用到tablecellrenderer了,这样肯定是不显示的了
      

  2.   

    用拉,图片就是不显示,大家来帮忙分析下我写的这段代码//ImageTableCellRenderer 自定义TableCellRenderer
    Image image=new ImageIcon(((byte[])((Vector)dtm.getDataVector().get(i)).get(j))).getImage();
    ImageTableCellRenderer itcr=new ImageTableCellRenderer();
    itcr.setIcon(itcr);
    col.setCellRenderer(itcr);
      

  3.   

    我写了一段代码 希望对你有帮助
    package swing;
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Dimension;import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.DefaultTableModel;public class TableIcon {
       private JPanel panel;
       private JTable table;
       private DefaultTableModel tableModel;
       public TableIcon(){
       panel = new JPanel();
       panel.setPreferredSize(new Dimension(300,300));
       String[] head = new String[]{"a","b","c","d"};
       String[][] data =new String[][]{{"1","2","3","4"}};
       
       tableModel = new DefaultTableModel(data, head);
       table = new JTable(tableModel);
    //    for (int i = 0; i < 4; i++) {
    //    table.getColumnModel().getColumn(i).setResizable(false);
    //    }
    //    table.getTableHeader().setAutoscrolls(false);
    //    table.getTableHeader().setResizingAllowed(false);
    //    table.getTableHeader().set
       table.getColumnModel().getColumn(0).setCellRenderer(new TableRender());
       
       JScrollPane scrollPane = new JScrollPane(table);
       panel.add(scrollPane, BorderLayout.CENTER);
       
       }
       public static void main(String[] args) {
    JFrame frame = new JFrame();
    TableIcon tableIcon = new TableIcon();

    frame.add(tableIcon.panel);
    frame.setVisible(true);
    frame.pack();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
       class TableRender extends DefaultTableCellRenderer{ public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    JLabel label = new JLabel();
    label.setIcon(new ImageIcon("test\\icon\\aaaaa.PNG"));
    return label;
    }
       
       }
    }
      

  4.   

    可能我少贴啦MyImageTableCellRenderer的代码,不过还是谢谢你的关心,等等我上班补上
      

  5.   

    public class ImageTableCellRenderer implements TableCellRenderer {
    private MyImageLabel mip;
    private String imagepath;
    private Image icon;
    public String getImagepath() {
    return imagepath;
    }
    public void setImagepath(String imagepath) {
    this.imagepath = imagepath;
    }
    public Image getIcon() {
    return icon;
    }
    public void setIcon(Image icon) {
    this.icon = icon;
    }
    public ImageTableCellRenderer() {
    mip=new MyImageLabel(this.getImagepath());
    mip.setImage(icon);
    }
    public Component getTableCellRendererComponent(JTable table, Object value, 
    boolean isSelected, boolean hasFocus, int row, int column) { 
            return   mip; 
    }}