2012-09-11 184 views
2

我想刷新(重绘)一个JFrame,如果发生在其他类的事件刷新一个JFrame,我使用如下代码中的一些事情,但somethimes这个代码不工作:从另一个类

static Container container; 
public FrameConstractor() 
{ 
    ... 
    container = getContentPane(); 
    ... 
} 

public static void refreshMethod() 
{ 
    container.repaint(); 
} 

和我发生事件时调用刷新方法;但是这段代码为我重画了一段时间,有些时候并没有做任何事情!

+1

为了更好地帮助越早,张贴[SSCCE(http://sscce.org/)。 –

+1

'static Container..'关键字'static'不能解决这个问题。去掉它。 –

+0

'repaint()'可能不是解决您实际问题的方法。 – basiljames

回答

5

我认为你的问题可以通过改变refreshMethod需要解决:

public static void refreshMethod() 
{ 
    container.invalidate(); 
    container.validate(); 
} 
+0

感谢它的工作。:) – Lrrr

+1

很高兴成为帮助:) – JTMon