简而言之,理想的目标是冻结窗口调整大小时的活动渲染循环(以消除如here所述的一些不愉快的闪烁),但是似乎没有一种直接的方法来确定何时调整抓取Frame / JFrame的边框。
当然,当抓住边框并调整其大小时会引发一个事件。这可能很有用,因为可以在每个调整大小事件之后添加一小段等待时间来冻结渲染循环,但是在调整大小后,这会产生一个很好的冻结帧。最好抛出一个实际事件。有人知道该怎么做吗?
注意:为了清楚起见,我需要知道何时抓住边框,而不是什么时候调整边框的大小
最佳答案
理想的目标是冻结窗口调整大小时的活动渲染循环
您可能正在寻找:
Toolkit.getDefaultToolkit().setDynamicLayout(false)
释放鼠标时,将完成组件的布局。
我需要知道何时抓住边框,而不是什么时候调整边框的大小
框架边框是由基础操作系统的框架组件而不是Swing实施的,因此,单击框架边框时,Swing不能访问任何生成的事件。
您可以使用未修饰的JFrame并添加自己的Border和大小调整逻辑。然后,您可以确定自己何时开始/停止调整大小。
您可以检出Resizing Components类别,该类别将为您调整大小。