Java 等待Swing';s元素重绘完成
我希望能够等待Swing的重新绘制完成 例如:Java 等待Swing';s元素重绘完成,java,swing,repaint,Java,Swing,Repaint,我希望能够等待Swing的重新绘制完成 例如: frame.repaint(); wait_for_repaint_to_finish(); //work 我有这样的想法: SwingUtilities.invokeAndWait(new Runnable() { public void run() { try { frame.repaint(); } catch (Exception e) { e.pr
frame.repaint();
wait_for_repaint_to_finish();
//work
我有这样的想法:
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
try {
frame.repaint();
} catch (Exception e) {
e.printStackTrace();
}
}
});
这是正确的方法吗?您可以覆盖
paintComponent()
:
问题是你为什么需要这样的东西?为什么你要重新粉刷整个框架,然后等待它完成呢。如果我们知道你想做什么,我们可能会给出更好的建议 repaint()只是安排要完成的绘制。RepaitManager可能会合并多个绘制请求,并一次执行这些请求,以提高绘制效率 话虽如此,如果你真的需要强制重画,你可以使用
JComponent.paintImmediately(...);
但这只能作为最后的手段,不能用来解决设计问题。这可能有助于了解您试图实现的目标;如果不正确,请还原。
JComponent.paintImmediately(...);