4

现在我Boolean的 JTable 值显示为JCheckBoxes. 这通常很好,但我想将它们显示为替代字符串或图像。我可以让它们显示为真/假,但如果为真,我想将它们显示为复选标记 (✔),如果为假,则不显示。可能是一个图像,但让我们先做一个字符串......

4

2 回答 2

9

创建自定义渲染器。扩展 DefaultTableCellRenderer 并添加您自己的代码以显示您想要的任何内容。它可以是自定义图标,或者如果“复选标记”是可打印字符,您可以将渲染器文本设置为适当的字符。

阅读 JTable API,您将找到关于“如何使用表”的 Swing 教程的链接,该教程将提供有关渲染器的更多信息。

如果您需要更多帮助,请发布您的SSCCE ,以显示您在创建渲染器时遇到的问题。

编辑:

本教程展示了如何为给定的类添加自定义渲染器,但没有展示如何为特定列添加自定义渲染器。你会使用:

table.getColumnModel().getColumn(...).setCellRenderer(...);
于 2010-05-21T05:07:17.973 回答
3

例子:

table.setDefaultRenderer(Boolean.class, new BooleanRenderer(true));

使用 BooleanRenderer

public class BooleanRenderer extends JLabel implements TableCellRenderer
{
.....
}
于 2010-05-21T07:15:30.390 回答