现在,我的JTable的Boolean
值显示为JCheckBoxes
。这通常会很好,但我想将它们显示为替代字符串或图像。
我可以让它们显示为真/假,但我想将它们显示为勾选标记(✔)如果为真,如果为假则不显示。可能是图像但是先让它做一个字符串......
答案 0 :(得分:9)
创建自定义渲染器。扩展DefaultTableCellRenderer并添加您自己的代码以显示您想要的任何内容。它可以是自定义图标,或者如果“复选标记”是可打印字符,则只需将渲染器文本设置为适当的字符即可。
阅读JTable API,您将找到有关“如何使用表格”的Swing教程的链接,该教程将提供有关渲染器的更多信息。
如果您需要更多帮助,请在SSCCE上显示您正在创建渲染器的问题。
编辑:
本教程介绍如何为给定类添加自定义渲染器,但不显示如何为特定列添加自定义渲染器。你会用:
table.getColumnModel().getColumn(...).setCellRenderer(...);
答案 1 :(得分:3)
示例:
table.setDefaultRenderer(Boolean.class, new BooleanRenderer(true));
with BooleanRenderer
public class BooleanRenderer extends JLabel implements TableCellRenderer
{
.....
}