我在更改JFrame
背景图片时遇到小问题。首先,我添加了JLabel
的背景图片,应用程序运行良好。但现在我需要动态地改变它。
我试过这段代码:
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;
此外,我每隔1秒尝试一次计时器(TimerTask
)。刷新框架
有人对此有所了解吗?
答案 0 :(得分:0)
现在我们需要创建JLabel并将其设置为背景(拉伸它)之后只需将图像添加到JLabel中,当您想要更改它时只需更改同一JLabel中的图像不要尝试添加另一个JLabel ,它不起作用!! ......就是这样。
JLabel label = new JLabel(new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource(localweather))));
setContentPane(label);//when u want to change background image just replace 'localweather' another image.