MySQL データベースに接続しており、データベースから抽出されたブロブ (画像) が 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();
}
}
});