gpt4 book ai didi

java - 使用 JTable 的 ClassCastException?

转载 作者:行者123 更新时间:2023-12-01 06:39:37 24 4
gpt4 key购买 nike

renbor = tabla_proveedor.getSelectedRow();
DefaultTableModel modelo = (DefaultTableModel) tabla_proveedor.getModel();
modelo.removeRow(renbor);

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

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.JTable$1 cannot be cast to javax.swing.table.DefaultTableModel

我该如何解决这个问题?我需要从表中删除一行。

这是我实例化 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;
}
};

最佳答案

javax.swing.JTable$1 what do I do with that?

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

创建 JTable 的一种更简单的方法是使用采用 vector 的构造函数。如果您必须使用数组,那么您需要手动创建 DefaultTableModel(按照 Sanjay 的建议):

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

But I use getColumnModel().getColumn(0).setPreferredWidth(200);

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

关于java - 使用 JTable 的 ClassCastException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16600414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com