может JLabel иметь теги img

Я пытаюсь отобразить JLabel, который имеет несколько строк текста и изображения следующим образом:

String html = "<html> hello </br> <img src = \"/absolute/path/here\" height = \"30\"  width =\"40\"/> </html>";
JLabel l = new JLabel(html);

Для изображения все, что я получаю, является разорванным изображением, действительно ли возможно вложить теги img в JLabel?

Править: Я хочу добавить повторные изображения к JLabel, таким образом, я не думаю, что использование ImageIcon сделает здесь.

Спасибо

5
задан Aly 20 March 2010 в 20:07
поделиться

4 ответа

Вместо того, чтобы пытаться иметь несколько изображений на одном JLabel, почему бы просто не иметь много JLabels, каждый с одним изображением (как описано uthark), а затем сгруппировать все метки вместе на одной JPanel. Это должно дать вам эффект, который вы ищете, с минимальной дополнительной сложностью.

1
ответ дан 18 December 2019 в 13:12
поделиться

Если вы не довольны JEditorPane, вы в основном смотрите на полноценный веб-браузер внутри Swing.

В идеале вы должны использовать JWebPane, который был бы представлением WebKit в качестве компонента Swing, но он еще не вышел. Самая последняя информация, которую мне удалось найти, - это сообщение в блоге .

Проект DJ позволяет встраивать собственный браузер платформы в Swing. Он использует Internet Explorer в Windows и XULRunner в Linux.Он не поддерживает Mac.

2
ответ дан 18 December 2019 в 13:12
поделиться

Встроенные изображения не поддерживаются в HTML. Таким образом, вы должны использовать setIcon или предоставить ImageIcon конструктору JLabel; HTML не может иметь тега IMG.

  JLabel imageLabel =
  new JLabel(labelText,
             new ImageIcon("path/to/image.gif"),
             JLabel.CENTER);

В вашем случае вам нужно использовать JTextPane для отображения HTML. См. Руководство здесь

0
ответ дан 18 December 2019 в 13:12
поделиться

Используйте JEditorPane для отображения HTML. Вы можете изменить фон, текст, шрифт и т. Д., Чтобы он выглядел как ярлык.

1
ответ дан 18 December 2019 в 13:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: