0
当数据提交给数据库时,我需要重新加载JPanel的背景图像。 我创建了从数据库填充图像的JPanel。当我更新图像并提交时,背景会自动更改。 我也尝试使用repaint()和revalidate(),但它不会工作。 它必须重新启动应用程序并再次运行,它的工作原理。如何刷新/重新加载JPanel中的图像
这是我在JPanel中显示背景的代码。
public void getLogo(Company company, PanelCompany view) {
JPanel panel = new BackgroundImage(company.getLogoBlob());
panel.revalidate();
panel.setVisible(true);
panel.setBounds(10, 10, 120, 120);
view.getPanelPhoto().add(panel);
}
这是我的助手类:
public class BackgroundImage extends JPanel{
private Image image;
public BackgroundImage (InputStream input) {
try {
image = ImageIO.read(input);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void paintComponent(Graphics grphcs) {
super.paintComponent(grphcs);
Graphics2D gd = (Graphics2D) grphcs.create();
gd.drawImage(image, 0, 0, getWidth(), getHeight(), this);
gd.dispose();
}
}
任何解决方案?感谢您的关注:)
@GilbertLeBlanc:考虑重载'getPreferredSize',建议[这里](http://stackoverflow.com/q/7229226/230513) – trashgod 2013-03-30 12:46:48