强制类型转换异常(ClassCastException)

chenting776 2008-01-31 04:59:30
例如
Object[][] playerInfo = new Object[0][5];
String[] Names = {
"ID", "学校名称", "学校校长等级", "学校电话", "所在地区"};
defaultModel = new DefaultTableModel(playerInfo, Names);
TableSorter sorter = new TableSorter(defaultModel);
table = new JTable(sorter);

在一个方法中我用了
DefaultTableModel dtm=(DefaultTableModel)table.getModel();
就开始报错.请问一下我改怎么样来改.
...全文
341 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenting776 2008-02-01
  • 打赏
  • 举报
回复
谢谢你了.弄好了.万事ok.
favorite7w 2008-01-31
  • 打赏
  • 举报
回复
一开始初始化表格时,你就保持着对原始模型的引用。这样就不需要每次都去从JTable里费力地获取模型。如下:


import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

import edu.rayz.common.vl.TableSorter;

public class Test
{
private JTable table = null;
private DefaultTableModel model = null;

public Test()
{
initTable();
deleteRow(8);
}

private void initTable()
{
Object[][] playerInfo = new Object[0][5];
String[] Names =
{
"ID",
"学校名称",
"学校校长等级",
"学校电话",
"所在地区"};
model = new DefaultTableModel(playerInfo, Names);
TableSorter sorter = new TableSorter(model);
table = new JTable(sorter);
}

private void deleteRow(int row)
{
// 删除其中的一行
model.removeRow(row);
}
}
chenting776 2008-01-31
  • 打赏
  • 举报
回复
在表格排序的模型中.我想删除其中的一行,该怎么做.以前是
DefaultTableModel dtm=(DefaultTableModel)table.getModel();

dtm.removeRow(row);
不过现在模型变了,这时该怎么样处理.
chenting776 2008-01-31
  • 打赏
  • 举报
回复
DefaultTableModel dtm = ((TableSorter)table.getModel()).getTableModel();
incompatible types;found : javax.swing.table.TableModel,required: javax.swing.table.DefaultTableModel at line 248 (248:74)
这个怎么处理.
chenting776 2008-01-31
  • 打赏
  • 举报
回复
可是我这里没有tableSorter.getTableModel()。 这个方法.因为这个排序我只是将JDK1.6的排序方法用过来.可是用的jdk版本实际上是1.4
所以该怎么办?jdk1.6用上有些问题.
所以我用jbuilder自带的jdk
favorite7w 2008-01-31
  • 打赏
  • 举报
回复
你用了排序表格模型TableSorter。
直接table.getModel()方法的话,得到的是TableSorter类的实例。
如果想得到原始的模型,可以用这个方法tableSorter.getTableModel()。
DefaultTableModel dtm = ((TableSorter)table.getModel()).getTableModel();
内容概要:本文介绍了一个基于Python的滚动轴承故障诊断项目,采用迁移学习(TL)结合SqueezeNet网络(TL-SqueezeNet)实现智能诊断。项目通过将一维振动信号经短时傅里叶变换转化为二维时频图,输入改进的SqueezeNet模型进行训练与分类。模型利用预训练权重冻结骨干网络、替换分类头,并结合类别权重、数据增强、标签平滑和分阶段微调策略,提升小样本与类别不均衡条件下的诊断性能。系统实现了从原始信号读取、滑动窗口分段、时频图生成、数据集划分、模型训练评估到单文件推理的全流程自动化,支持CSV、TXT、NPY等多种格式,输出包括准确率、宏平均F1、混淆矩阵及各类别概率,增强了诊断结果的可解释性与工程实用性。; 适合人群:具备Python编程基础,熟悉PyTorch框架,从事工业设备故障诊断、信号处理或深度学习应用研究的研发人员、研究生及工程师(工作或研究年限1-3年)。; 使用场景及目标:①解决滚动轴承故障数据小样本、类别不均衡、工况多变导致的传统方法泛化能力差的问题;②构建轻量化、高精度、可部署于边缘设备的智能诊断模型;③实现端到端的自动化诊断流程,提升工业运维智能化水平;④通过可视化评估指标辅助人工复核与模型优化。; 阅读建议:此资源以实际项目代码为核心,强调工程实现与算法优化的结合,建议读者结合文档中的代码示例搭建环境运行,重点理解数据预处理逻辑、模型迁移策略与评估机制的设计思路,并尝试在自有数据上进行迁移与调优实践。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧