Java—是否可以将图像和字符串放在同一个JTable单元格中?
我知道如何将字符串放入JTable单元格,我知道如何将图像放入JTable单元格。但是,是否可以将图像和字符串放入同一个JTable单元格中 原因是我的JTable中有一个“status”列,目前它包含绿色、琥珀色或红色图像。为了满足设计要求,我需要在每个图像旁边添加一些解释性文本(因此绿色图像旁边的文本将是“在线”,琥珀色图像旁边的文本将是“未知”,红色图像旁边的文本将是“离线”)。我需要在单个列(或看起来/行为类似于单个列的列)中执行此操作,而不是在两个列中 我对此进行了研究,但没有发现任何信息。是的 您需要使用自定义单元渲染器。查看更多详细信息 实际上,您有两个选择,您可以简单地设置图标和单元格文本,也可以使用渲染器工具提示文本来代替Java—是否可以将图像和字符串放在同一个JTable单元格中?,java,swing,jtable,tablecellrenderer,Java,Swing,Jtable,Tablecellrenderer,我知道如何将字符串放入JTable单元格,我知道如何将图像放入JTable单元格。但是,是否可以将图像和字符串放入同一个JTable单元格中 原因是我的JTable中有一个“status”列,目前它包含绿色、琥珀色或红色图像。为了满足设计要求,我需要在每个图像旁边添加一些解释性文本(因此绿色图像旁边的文本将是“在线”,琥珀色图像旁边的文本将是“未知”,红色图像旁边的文本将是“离线”)。我需要在单个列(或看起来/行为类似于单个列的列)中执行此操作,而不是在两个列中 我对此进行了研究,但没有发现任何
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());
对
您需要使用自定义单元渲染器。查看更多详细信息
实际上,您有两个选择,您可以简单地设置图标和单元格文本,也可以使用渲染器工具提示文本来代替
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());
看问题看问题