简单来说,理想的目标是在窗口调整大小时冻结活动渲染循环(为了摆脱一些令人讨厌的闪烁,如here所述),但似乎没有一种直截了当的方式确定何时抓取Frame / JFrame的边框。
当然,抓取框架边框并调整其大小时会抛出一个事件。这可能很有用,因为可以在每次调整大小事件之后添加一个小等待来冻结渲染循环,但这会在帧完成大小调整后产生一个很好的冻结帧。抛出一个实际的事件是最好的。有谁知道怎么做?
注意:要清楚,我需要知道何时抓取框架边框,而不是在调整框架大小时
答案 0 :(得分:1)
期望的目标是在窗口调整大小
上冻结活动渲染循环
您可能正在寻找:
Toolkit.getDefaultToolkit().setDynamicLayout(false)
释放鼠标时将完成组件的布局。
我需要知道何时抓取框架边框,而不是在调整框架大小时
框架边框由底层操作系统的框架组件实现,而不是Swing,因此当您单击框架边框时,Swing无法访问生成的任何事件。
您可以使用未修饰的JFrame并添加自己的边框并调整逻辑大小。然后,您可以在调整大小开始/停止时确定自己。
您可以查看Resizing Components以查找将为您调整大小的课程。
答案 1 :(得分:0)
public void componentResized(ComponentEvent e);
public void componentMoved(ComponentEvent e);
向ComponentListener
添加JFrame
并处理事件。