在显示模式之前绘制简单动画的最佳方法是什么 JDialog ? (即从鼠标单击点扩展到对话框位置的边框)。我认为可以在对话框的 setVisible
方法上绘制父框架的玻璃面板。
但是,由于 JDialog 对父级是模态的,我找不到将绘图事件注入(inject)到 EDT 中的方法。在 JDialog 变为可见之前,因为 EDT 上的当前事件尚未完成。
最佳答案
您是否试图独立于动画显示 JDialog?为了正确设置顺序,您可能需要将这些操作捆绑在立即传递给 EDT 的可运行对象中。
例如:
SwingUtilities.invokeLater(new Runnable(){
public void run(){
doAnnimation();
showDialog();
}
}
最好将 JDialog 子类化,这样您就可以在调用父类(super class)实现之前将 doAnnimation() 逻辑添加到 setVisible(..) 或 show() 方法中。
最后,我想您需要手动设置 dalog 的尺寸——我不记得 Java 是否会在显示对话框之前知道对话框的实际大小,因此您可能会得到一些对您的无用信息如果您在显示之前查询大小,则为动画。
关于java - 在 JDialog 的展示中绘制动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39108/