有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将图像插入Jtable(自定义代码)

我在尝试插入netbeans生成的JTable时遇到了很多困难

这是我的JTable自定义代码的捕获

enter image description here

所以我如何在我的类代码中将Image设置为jtable


共 (1) 个答案

  1. # 1 楼答案

    您需要重写getColumnClass()方法,以便表可以选择适当的呈现器。简单的例子:

    import java.awt.*;
    import javax.swing.*;
    import javax.swing.table.*;
    
    public class TableIcon extends JFrame
    {
        public TableIcon()
        {
            ImageIcon aboutIcon = new ImageIcon("about16.gif");
            ImageIcon addIcon = new ImageIcon("add16.gif");
            ImageIcon copyIcon = new ImageIcon("copy16.gif");
    
            String[] columnNames = {"Picture", "Description"};
            Object[][] data =
            {
                {aboutIcon, "About"},
                {addIcon, "Add"},
                {copyIcon, "Copy"},
            };
    
            DefaultTableModel model = new DefaultTableModel(data, columnNames);
            JTable table = new JTable( model )
            {
                //  Returning the Class of each column will allow different
                //  renderers to be used based on Class
                public Class getColumnClass(int column)
                {
                    return (column == 0) ? Icon.class : Object.class;
                }
            };
            table.setPreferredScrollableViewportSize(table.getPreferredSize());
    
            JScrollPane scrollPane = new JScrollPane( table );
            getContentPane().add( scrollPane );
        }
    
        public static void main(String[] args)
        {
            TableIcon frame = new TableIcon();
            frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
            frame.pack();
            frame.setVisible(true);
        }
    
    }