2012-09-11 107 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