JEditorPane показать изображение, хранящееся в байте [] - PullRequest
0 голосов
/ 06 января 2019

У меня есть изображение, хранящееся в базе данных в виде большого двоичного объекта. Я использую JDBC для связи с базой данных. Возвращенные данные из базы данных находятся в байте []. Как я могу отобразить это на JEditorPane? Должен ли я записать его на диск и затем указать это место?

1 Ответ

0 голосов
/ 07 января 2019

Что-то вроде этого.

1: сначала получите большой двоичный объект и преобразуйте его в ImageIcon из набора результатов.

Blob blob = resultSet.getBlob(1);
ImageIcon imageIcon = new ImageIcon(
blob.getBytes(1, (int)blob.length()));

2: Подготовьтесь, чтобы иметь возможность добавить значок изображения в JEditorPane / JTextPane (текстовое окно наследуется от JEditorPane), что-то вроде:

StyledDocument doc = textPane.getStyledDocument();
Style def = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
Style iconStyle = doc.addStyle("icon", def);
StyleConstants.setAlignment(iconStyle , StyleConstants.ALIGN_CENTER);
StyleConstants.setIcon(s, imageIcon);
  1. Добавить иконку:

doc.insertString(doc.getLength(), " ", doc.getStyle("icon"));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...