PanelImagen[,0,0,0x0,无效,布局=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]

PanelImagen[,0,0,0x0,无效,布局=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=],java,swing,Java,Swing,我有一个问题,我已经在用EclipseJavaNeon编程了,我正在用表做一些事情,而swing实际上是JTable的一个组件。现在,我需要向表中的一个组件添加一个映像,并创建一个名为PanelImagen的JPanel,它引导我添加带有rute的映像,等等。当我在表中运行程序时,它会说: interfaz.PanelImagen[,0,0,0x0,无效,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flag

我有一个问题,我已经在用EclipseJavaNeon编程了,我正在用表做一些事情,而swing实际上是JTable的一个组件。现在,我需要向表中的一个组件添加一个映像,并创建一个名为PanelImagen的JPanel,它引导我添加带有rute的映像,等等。当我在表中运行程序时,它会说:

interfaz.PanelImagen[,0,0,0x0,无效,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]

我不知道这是什么。我来自哥伦比亚,对不起我的英语。这是我初始化表的代码:

matriz = new JTable(Circuito.TAMANO_PANEL,Circuito.TAMANO_PANEL);
luces = new PanelImagen[Circuito.TAMANO_PANEL][Circuito.TAMANO_PANEL];

for (int i = 0; i < luces.length; i++) {
    for (int j = 0; j < luces[0].length; j++) {
        luces[i][j] = new PanelImagen("data/imagenes/white.gif");
    }
}
matriz=新JTable(Circuito.TAMANO_面板,Circuito.TAMANO_面板);
luces=新面板Imagen[Circuito.TAMANO_面板][Circuito.TAMANO_面板];
for(int i=0;i
如果要向表中添加图像,则需要:

  • 图标
    添加到
    表格模型
  • 重写
    TableModel
    getColumnClass(…)
    方法,告诉表正在显示图标,以便表可以使用适当的渲染器
  • 例如:

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

    看起来您正在将JPanel放入JTable。不要那样做。为了获得更好的帮助,请问一个更完整的问题。请注意你的拼写,因为你的文章很难理解。