java无法在JPanel上显示图像
以下是我的代码片段:
PreparedStatement ps = con.prepareStatement("select * from patrika where jantacode = ?");
ps.setString(1, jComboBox1.getItemAt(jComboBox1.getSelectedIndex()));
ResultSet rs = ps.executeQuery();
rs.next();
jTextField2.setText(rs.getString("companycode"));
jTextField3.setText(rs.getString("manufacturer"));
jTextField4.setText(rs.getString("purchaseprice"));
jTextField5.setText(rs.getString("wholesaleprice"));
jTextField6.setText(rs.getString("retailprice"));
jTextField7.setText(rs.getString("location"));
jTextField1.setText(rs.getString("stock"));
//Getting and displaying image
Blob blob = rs.getBlob("image");
int blobLength = (int) blob.length();
byte[] bytes = blob.getBytes(1, blobLength);
blob.free();
BufferedImage img = ImageIO.read(new ByteArrayInputStream(bytes));
Graphics2D g = img.createGraphics();
jPanel1.paint(g);
jPanel1.repaint();
一切都很好,但jPanel无法在其上绘制图像
同样的快照也被附加。谁能帮我找出我的错误吗
# 1 楼答案
如果希望将图像绘制到JPanel,则必须重写其paintComponent()方法,因为您希望在每一帧绘制图像
从文档中可以看到如下内容:
现在加载图像并仅在面板上绘制一次
多花点时间处理文档:) 这会很好:https://docs.oracle.com/javase/tutorial/uiswing/painting/index.html