0
Swing的新手,但不是Java。我正在嘗試以下操作:基本的Java Swing JFrame重新繪製
public void actionPerformed(ActionEvent e) {
methodA();
pane.repaint();
methodB();
pane.repaint();
}
where methodB()需要很長時間。我希望它畫兩次,但第一次的油漆電話從來沒有發生過。這就像我做的那樣:
public void actionPerformed(ActionEvent e) {
methodA();
methodB();
pane.repaint();
}
對不起,如果這是基本的,但我試過搜索,我仍然不明白爲什麼。
我已經嘗試直接調用paint,除了應用程序在每次重繪時閃爍之外都按預期工作。
不同的場景,不同的調用,但相同的行爲和相同的解決方案:[Java swing GUI凍結](https://stackoverflow.com/questions/11185485/java-swing-gui-freezes) – BackSlash
'repaint()'是繪製組件_soon_的請求(不是立即)。但是,如果'methodB'需要很長時間,它將阻塞事件分派線程,並且在完成之前沒有任何內容會被重新繪製。考慮在另一個線程中運行'methodB'。 – khelwood