如何在JTable中更改或查找列类型(How to change or find column type in JTable)

编程入门 行业动态 更新时间:2024-10-26 02:26:37
如何在JTable中更改或查找列类型(How to change or find column type in JTable)

我想在JTable每一行中插入JCheckBox ,所以我尝试更改我的第一列类型。 当我尝试这段代码时,我得到“java.lang.String无法强制转换为java.lang.Boolean”错误。

DefaultTableModel model=new DefaultTableModel(){ private static final long serialVersionUID = 1L; @Override public Class<?> getColumnClass(int column) { switch (column) { case 0: return Boolean.class; case 1: return String.class; case 2: return String.class; case 3: return String.class; default: return String.class; } } }

I want to insert JCheckBox in every row in JTable so I try to change my first column type. When I try this code, I get "java.lang.String cannot be cast to java.lang.Boolean" error.

DefaultTableModel model=new DefaultTableModel(){ private static final long serialVersionUID = 1L; @Override public Class<?> getColumnClass(int column) { switch (column) { case 0: return Boolean.class; case 1: return String.class; case 2: return String.class; case 3: return String.class; default: return String.class; } } }

最满意答案

确保将Boolean.class类型的值添加到TableModel ,如此处所示。 另请参阅为典型实现创建表模型

@Override public Class<?> getColumnClass(int c) { return getValueAt(0, c).getClass(); }

附录: 我将行值更改为 true 。

有几种方法可以确保模型包含Boolean.class类型的值:

Boolean.TRUE或Boolean.FLASE , java.lang.Boolean定义的常量。

Boolean.valueOf(boolean b) ,其中b可以是一个产生boolean值的值或表达式。

true或false ,自Java 1.5以来自动装箱的 文字 。

正如@kleopatra所说,简单的教程实现无法满足两个基本标准:

防范null值。

返回模型生命周期的相同值。

Be certain to add values of type Boolean.class to your TableModel, as shown here. See also Creating a Table Model for a typical implementation.

@Override public Class<?> getColumnClass(int c) { return getValueAt(0, c).getClass(); }

Addendum: I changed row value as true.

There are several ways to ensure that the model contains a value of type Boolean.class:

Boolean.TRUE or Boolean.FLASE, constants defined in java.lang.Boolean.

Boolean.valueOf(boolean b), where b may be a value or expression yielding boolean.

true or false, literals that are autoboxed since Java 1.5.

As @kleopatra notes, the simple tutorial implementation fails to meet two essential critera:

Guard against null values.

Return the same value for the lifetime of the model.

更多推荐

本文发布于:2023-08-07 15:16:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1464711.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:类型   如何在   JTable   change   column

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!