当前位置: 首页 > 面试题库 >

Java-是否可以将图像和String放在同一JTable单元中?

石超
2023-03-14
问题内容

我知道如何将字符串放入JTable单元格,并且我知道如何将图像放入JTable单元格。但是是否可以将图像和字符串放入SAME JTable单元中?

原因是我的JTable中有一个“状态”列,此列目前包含绿色,琥珀色或红色图像。为了满足设计要求,我需要在每个图像旁边添加一些解释性文本(因此绿色图像旁边的文本将为“在线”,琥珀色图像旁边的文本将为“未知”,下一个文本到红色图像将是“脱机”)。我需要在单列(或看起来/行为像单列)而不是两列中执行此操作。

我已经对此进行了研究,但根本找不到任何信息。


问题答案:

是。

您需要使用定义单元格渲染器。请查看如何使用表格以获取更多详细信息。

实际上,您有两种选择,您可以简单地设置图标和单元格的文本,也可以使用渲染器工具提示文本…

public class IconTextCellRemderer extend DefaultTableCellRenderer {
    public Component getTableCellRendererComponent(JTable table,
                                  Object value,
                                  boolean isSelected,
                                  boolean hasFocus,
                                  int row,
                                  int column) {
        super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
        setText(...);
        setIcon(...);
        setToolTipText(...);
        return this;
    }
}

当然,您需要将渲染器应用于列…

TableColumnModel tcm = table.getColumnModel();
tcm.getColumn(x).setCellRenderer(new IconTextCellRemderer());


 类似资料:
  • 问题内容: 我试图将图像放入带有Java的Excel单元格中,但没有成功,这是我正在使用的代码,但是我唯一要做的就是将图像放入excel工作表中,而不放在指定的单元格中 问题答案: 您已经在做的是将锚定图像定位到左上方的单元格()。然后,您已经将图像调整为原始大小。 如果图像适合该单元格,则必须使用左上单元格 和 右下单元格创建锚点。而且,请勿将图像调整为原始大小。 例: 如果从程序行中删除注释符

  • 在我的程序中,有一个带有许多加速器的JMenu和一个可编辑的JTable。问题是,当编辑JTable时,加速器键仍然会被触发。 编辑上表中的任何单元格,有一个菜单项设置为哔哔声与加速器'n'。

  • 问题内容: 我想在我的html代码中的复选框和单选框的背景上放置一个图像,但是它不起作用,但是可以在其他表单属性上起作用。 问题答案: 我找到了如何使用纯CSS 将图像提供给 复选框 和 单选 按钮的方法。 HTML CSS

  • 可能重复: 在锚中放置div是否正确? 我想有一个复杂元素的链接(包含图像、段落和其他内容)。我知道它是有效的,但是有

  • 我可以粘贴/拖动 图像显示正确(但过大)。然而,我无法缩放它们。我尝试了这个问题的varius解决方案:在降价中更改图像大小 不幸的是,它们都不适合我。按shift Enter后,单元格只显示输入的文本,图像就不见了。我做错了什么?

  • 问题内容: 我有一个宽度最初未知的元素,特别是用户提供的MathJax方程。我将元素设置为内联块,以确保元素的宽度适合其内容并具有定义的宽度。但是,这阻止了传统的居中方法。也就是说,以下操作无效: 解决方案不能是: 因为我不知道宽度实际应该是多少,并且如果用户单击方程式,则需要突出显示整个方程式,因此无法将宽度设置为0。有人可以解决此方程式居中的问题吗? 问题答案: 只需将其放在容器上即可。