0
我在更換JFrame
背景圖片時遇到小問題。首先我已經添加了背景圖片JLabel
和應用程序運行良好。但現在我需要動態地改變它。如何動態更改JFrame背景?
我試圖此代碼:
label = new JLabel(new ImageIcon(Toolkit.getDefaultToo... // old background image
public void changeImage(){
label.setVisible(false);
label2 = new JLabel(new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("weatherall.gif"))));
setContentPane(label2); // new Background image
label2.setVisible(true);
repaint();
}
switch (cmb.getSelectedItem().toString()) {
case "ISTANBUL":
x = 0;
changeImage();
//some codes......vs.vs.
break;
另外心中已經用計時器(TimerTask
)每1秒嘗試過。刷新框架
有人對此有個想法嗎?
有兩種方式,添加圖片到JLabel的(更好wiil是通過使用本地變量在運行時加載的ImageIcon,因爲密集的I/O需要的圖標/ ImageIcon的沖水(),之前被添加到一個JLabel)第二種方法是通過使用paintComponent使用JPanel繪畫,默認情況下,這兩種方法都在官方的Oracles教程中描述 – mKorbel
您可以在這裏使用這個答案,修改圖像的設置方式,您可以通過幾種方法當程序循環並調用paint時設置圖像。 [相關問題](http://stackoverflow.com/questions/1064977/setting-background-images-in-jframe?rq=1) – Underbalanced
@mkorbel你可以看到我的源代碼之後,你可以更好地理解。我需要在運行時***更改圖像***和我的應用程序擴展JFrame ... [鏈接](https://drive.google.com/file/d/0ByPqPK4HeCfMV3BNZFpJczBoTVU/view?usp=sharing) –