我如何更新框架?

时间:2015-05-26 12:01:41

标签: java swing

你好我有一个Jpanel,当没有图像时,会出现一个显示“找不到图像”的图像。

我还用其他语言用其他语言创建了其他图像,问题是当我点击按钮更改语言时,标签会发生变化,但是图像没有。

我怎么能做到?

我已经尝试过重绘,重新验证以及所有这些,但没有任何效果。

PD:如果我回到上一个窗口并且我在那里更改语言,当我转到我遇到问题的面板时图像是正确的,所以问题不在于图片不是变化

解决方案:我发现错误,问题是更改图像的代码片段在异常内部,在另一个事件内部,并且因为该方法不再执行主要方法它不起作用非常感谢所有人。

感谢。

3 个答案:

答案 0 :(得分:0)

如果jframe.repaint();无法单独使用,请使用:

jframe.invalidate();
jframe.validate();
jframe.repaint();

如果这不起作用,您可以强制它:

SwingUtilities.updateComponentTreeUI(JFrame的);

更新
正如@MadProgrammer所说:如果这样做是在掩盖布局中更大的问题

答案 1 :(得分:0)

框架已经是一个可见的容器,你的jpanel是你框架的一部分,所以如果你想更新面板并且代码在框架内,那么按照相同的顺序使用以下代码 -

frame.getContentPane().validate();
frame.getContentPane().repaint();

如果重新绘制代码在面板中,只需调用validate(),然后调用repaint()。它应该适合你。

欢呼声

答案 2 :(得分:0)

解决方案:我发现错误,问题是更改图像的代码片段在异常内部,在另一个事件内部,并且因为该方法不再执行主要方法它不起作用非常感谢所有人。