我与 MySQL 数据库建立了连接,我尝试解决从数据库中提取的 blob(图像)未正确呈现到 JDialog 时出现的问题(参见屏幕截图)。注意:我有多个图像(大小 ~50-60 Kb),其中一些显示正确(完整),但其中一些显示未完全加载。我尝试重新保存图像并将其插入 MySQL,但问题仍然存在。
有任何想法吗?
我的代码是:
MenuItemPhoto.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
try {
String sql = "select photo from RDSSPhoto where id ='38'";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
if (rs.next()) {
byte[] imagedata = rs.getBytes("photo");
format = new ImageIcon(imagedata);
JOptionPane pane = new JOptionPane((Frame) null, JOptionPane.PLAIN_MESSAGE, JOptionPane.DEFAULT_OPTION);
JDialog d = pane.createDialog((Frame) null, "Photo");
pane.setIcon(format);
if (!d.isVisible()) {
d.setLocationRelativeTo(RDSSView.this);
d.pack();
}
d.setVisible(true);
}
} catch (Exception e) {
e.printStackTrace();
}
}
});