hak*_*kan 5 java user-interface animation swing
在显示模态JDialog之前绘制简单动画的最佳方法是什么?(即将边界从鼠标单击点扩展到对话框位置).我认为可以setVisible
在对话框的方法上绘制父框架的玻璃板.
但是,由于JDialog是父模式的模态,因此我无法找到在JDialog变为可见之前将绘图事件泵入EDT的方法,因为EDT上的当前事件尚未完成.
您是否试图独立于动画来显示 JDialog?为了正确设置顺序,您可能需要将这些操作捆绑在立即传递给 EDT 的可运行对象中。
例如:
SwingUtilities.invokeLater(new Runnable(){
public void run(){
doAnnimation();
showDialog();
}
}
Run Code Online (Sandbox Code Playgroud)
最好将 JDialog 子类化,以便您可以在调用超类实现之前将 doAnnimation() 逻辑添加到 setVisible(..) 或 show() 方法。
最后,我想你需要手动设置对话框的尺寸——我不记得Java是否会在显示对话框之前知道对话框的实际大小,所以如果你在显示之前查询尺寸。
归档时间: |
|
查看次数: |
1542 次 |
最近记录: |