У меня есть этот код в ListCellRenderer, который расширяет JEditorPane. Панель редактора не отображает изображение, но вместо этого отображается «сломанный значок». Что с этим не так?сломанный тег img с JEditorPane/ListCellRenderer
public class TweetCellRenderer extends JEditorPane implements ListCellRenderer {
public Component getListCellRendererComponent(
javax.swing.JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus
) {
setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 6));
StringBuffer sb = new StringBuffer();
setContentType("text/html");
sb.append("<html><body>");
sb.append("<img src='http://www.google.co.uk/images/firefox/video.png' />");
sb.append("</body></html>");
System.out.println(sb);
setText(sb.toString());
setBackground(isSelected ? SELECTED_BG : BG);
setForeground(isSelected ? SELECTED_FG : FG);
return this;
}
}
Я пробовал использовать ImageIcon. Он работал, когда мой CellRenderer был JLabel с прикрепленным значком и текстом. Но мне нужно иметь гиперссылки в тексте, поэтому мне нужно использовать JEditorPane. Я попытался расширить JPanel и добавить ImageIcon (внутри JLabel) и JEditorPane в JPanel, но это тоже не сработает - изображения или текст дублируются много раз друг над другом по некоторым причинам. Я хочу, чтобы каждый элемент в JList отображал изображение 48x48 слева и справа отформатированного текста с гиперссылками. Как я могу это сделать? Спасибо –