我已將圖像添加到畫布,然後在面板上顯示該畫布。但是,當我最小化並最大化窗口時,圖像從面板中消失。我該如何解決這個問題?以下是代碼:在最小化窗口時丟失的圖像
public class CloseCanvas extends Canvas{
private static final long serialVersionUID = 2L;
@Override
public void paint(Graphics g) {
setSize(new Dimension(30,22));
BufferedImage image = null;
try {
image = ImageIO.read(new File("res/close.png"));
} catch (IOException ex) {
ex.printStackTrace();
}
g.drawImage(image, 0, 0, null);
}
}
這可能是AWT組件重量的問題。爲什麼不將子類JPanel直接繪製到面板? – Thomas
move setSize(new Dimension(30,22));在paint方法之外,讀取API,因爲還有其他方法如何爲g.drawImage設置大小() – mKorbel
非常感謝。在paint方法之外移動setSize解決了這個問題。 – tiger