程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

获取带有自定义表格模型的 JTable 以显示在 JScrollPane 中

发布于2023-01-09 09:05     阅读(1168)     评论(0)     点赞(11)     收藏(2)


我正在尝试为我的 JTable 创建我自己的自定义 TableModel(因为我想将一行 JCheckBox 合并到我的表中。)我在 JScrollPane 中也有 JTable。在我尝试合并 JCheckBox 和自定义 AbstractTableModel 之前,如果我使用默认的 (Object[][], Object[]) 构造函数,JTable 会正常显示。我在 Sun 的 JTable 教程中读到,这些构造函数默认使用将所有数据视为字符串。

然后我创建了我的自定义 AbstractTableModel 并从此开始:

JTable table = new JTable(dataArray, col);

为此:

JTable table = new JTable();

我假设这将调用尝试使用扩展 AbstractTableModel 的自定义类创建 JTable,但现在 JScrollPane 中没有显示任何内容。

我用错了吗?我几乎从 Sun 教程中复制了代码,只更改了涉及的数据文件的名称。我也把这个方法放在了同一个类中。是否有不同的方法来确保您的表格是使用您的自定义表格模型创建的?任何见解将不胜感激。


解决方案


JTable有几个以 aTableModel作为参数的构造函数。那是你要找的吗?从您提供的代码片段来看,您似乎正在调用默认构造函数并期望它以某种方式使用您的自定义表模型。(也许缺少一些执行此操作的代码?)。如果您使用默认构造函数,JTable将在内部创建一个DefaultTableModel实例并使用它。

编辑: 注释不能很好地处理代码,因此在此处添加:要让表格使用您的模型,您可以执行以下操作:

MyTableModel model = new MyTableModel();
// ...initialise model if required
JTable table = new JTable(model);


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/618133/fe65646931c5d3be4cdf/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

11 0
收藏该文
已收藏

评论内容:(最多支持255个字符)