/ / Java-画像と文字列を同じJTableセルに入れることは可能ですか? -java、swing、jtable、tablecellrenderer

Java - 画像と文字列を同じJTableセルに入れることは可能ですか? - java、swing、jtable、tablecellrenderer

文字列をJTableセルに配置する方法を知っています。また、画像をJTableセルに配置する方法を知っています。しかし、画像と文字列を同じJTableセルに入れることは可能ですか?

その理由は、「ステータス」があるからです私のJTableの列には、現時点では緑、a色、または赤の画像が含まれています。また、設計要件を満たすために、各画像に説明テキストを追加する必要があります(したがって、緑色の画像の横にあるテキストは「オンライン」、a色の画像の横にあるテキストは「不明」、次のテキストは赤い画像は「オフライン」になります)。これは、2列ではなく、1列(または1列のように見える/動作する列)で行う必要があります。

私はこれを調査しましたが、まったく情報が見つかりませんでした。

回答:

回答№1は4

はい。

カスタムセルレンダラーを使用する必要があります。チェックアウト テーブルの使用方法 詳細については。

実際には2つの選択肢があり、アイコンとセルのテキストを設定するか、代わりにレンダラーのツールチップテキストを使用できます...

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());