当前位置: 首页 > 知识库问答 >
问题:

使用JTable的ClassCastException?

萧阳波
2023-03-14
renbor = tabla_proveedor.getSelectedRow();
DefaultTableModel modelo = (DefaultTableModel) tabla_proveedor.getModel();
modelo.removeRow(renbor);

那行代码给了我一个错误,它给了我...

线程中的异常"AWT-EventQuue-0"java.lang.ClassCast异常:javax.swing.JTable1美元不能转换为javax.swing.table.默认表模型

我该怎么解决?我需要从表中删除一行。

这是我实例化tabla_proveedor的地方

tabla_proveedor=new JTable(datos_proveedor,columna_proveedor)

    { 
        public boolean isCellEditable(int datos_proveedor, int columna_proveedor){

        return false;
        }
        public Component prepareRenderer(TableCellRenderer r, int datos_proveedor, int columna_proveedor)
        {
            Component c= super.prepareRenderer(r,datos_proveedor,columna_proveedor);

            return c;
        }
        };

共有2个答案

袁泓
2023-03-14

创建表时,应手动设置表模型:

table.setModel(new DefaultTableModel());

这通常可能会在将表添加到窗体后进入构造函数或 GUI-init 方法中。

这样你就知道是什么类了。如果你愿意,你可以定制它。

殷耀
2023-03-14

javax.swing.JT1美元我拿它做什么?

当您将数据和列名指定为数组时,JTable会为TableModel创建一个匿名内部类。“$1”告诉你情况就是这样。

创建Jtable的一种更简单的方法是使用接受向量的构造函数。如果您必须使用数组,那么您需要手动创建DefaultTableModel(如Sanjay所建议):

DefaultTableModel model = new DefaultTableModel(data, columnNames)
JTable table = new JTable( model );

但是我使用getColnModel(). getCol

这与正在使用的 TableModel 无关,所以是的,这段代码仍然可以与 DefaultTableModel 一起使用。

 类似资料:
  • 我正在尝试制作一个JTable,它在一个单元格中有一个JComboBox。我知道我可以使用celleditor,但诀窍是我希望在每一行的组合框中有不同的信息。表中的每一行都代表一个对象,在该对象上有一个arraylist和它的内容,我想在组合框中。到目前为止,这是我的思考过程。 现在,当我稍后调用该方法时(通过按一个按钮),我想插入一个新的行,其中包含Coloum5中唯一的组合框,但我不知道如何做

  • 问题内容: 如何用对象类型的列表中的值填充JTable。我的代码如下所示: 我已经有了列,列表将来自schedule变量?考虑这些列,如何将其放到表中? 问题答案: 看一下DefaultTableModel。您可以遍历List并为每一行创建Object数组。

  • 现在我只使用,但是如果数据显示在中,看起来会好得多。这是GUI类: 单击该按钮时,数据应该显示在中。我真的不知道如何遍历数据库中的列和行,然后将此信息添加到。

  • 我目前正在开发一个JComboBox组件,我希望在其中的组合框中有一个JTable用于下拉选择。我扩展了ListCellRenderer,并且在弹出窗口中有一个表。 我想用两种不同的方式来呈现。第一个作为所选行的绑定列的标签,当弹出窗口不可见时。第二种是在弹出窗口可见时用JScrollPane显示表。 不幸的是,当我这样做时,弹出窗口被缩小到列表的行高,这只为表的列留下了空间。 如果我只是使用滚动

  • 问题内容: 我有一个 对象,我需要在JTable中显示此数组的内容。 Map-键是列名,对象是数据,我该如何放置? Baiscally Map包含一个表中的多行,并且所有行都添加到了数组列表中,现在我需要以表的形式在Swing应用程序中显示它们,并对它们执行排序和过滤。 问题答案: 对于数据,将您的列表嵌入到TableModel中。一的DefaultTableModel是最好的。 对于列,将您的列