如何在JTable中添加图像

时间:2014-03-14 10:08:54

标签: java swing jtable

我想在JTable单元格中添加图片吗?

我已经尝试过图像图标,但它已经用String代替了图像类

有没有办法做这件事?

2 个答案:

答案 0 :(得分:3)

问如何在JTable中添加图像?

我已经描述了解决上述问题的简便方法 。  覆盖表的getColumnClass()方法。

        tblTaskList = new JTable() ;

        DefaultTableModel dm = new DefaultTableModel(0, 0)
        {
                private static final long serialVersionUID = 1L;
             //override and give class value
            public Class getColumnClass(int column) 
            {
                return getValueAt(0, column).getClass();
            };
        };
   //set Image in ImageIcon’s object   
   ImageIcon imgStart = new ImageIcon("start.png");
  ImageIcon imgStop = new ImageIcon("stop.png");
   ImageIcon imgPause = new ImageIcon("pause.png");

   for (int count = 1; count <= 30; count++) {
   //add row dynamically
        dm.addRow(new Object[] { count, "Task Title",    imgStart, imgPause,
                imgStop, "Status" });

    }
 tblTaskList.setModel(dm);
 //Add table in to the JScrollpane
                  JScrollPane jspTasklist = new JScrollPane(tblTaskList);
        //Add Scroll Pane into the frame
                  frmTaskList.getContentPane().add(jspTasklist);

答案 1 :(得分:1)

你可以通过覆盖表格模型中的跟随方法来做那件事

    DefaultTableModel dTable= new DefaultTableModel(0, 0)
    {
        public Class getColumnClass(int column) 
        {
            return getValueAt(0, column).getClass();
        };
    };