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