Java 中 Component 的 componentResized 事件,但仅在鼠标释放时执行

2024-04-13

当我的一个组件(画布)调整大小时,我需要进行一些计算。不幸的是,计算可能需要几百毫秒,这会导致调整大小在完成时严重滞后。我想通过仅在调整大小结束时(我猜是释放鼠标按钮时)进行计算来解决这个问题。我怎样才能做到这一点?到目前为止我只有以下内容:

MyComponent.addComponentListener(new ComponentAdapter() {
    @Override
    public void componentResized(ComponentEvent e) {
        super.componentResized(e);
        // some calculation
    }       
});

Thanks.

PS:我知道对于 JFrame,只有在释放鼠标按钮后才会触发调整大小的事件,但不幸的是我无法将我的组件放入 JFrame 或让它扩展 JFrame。


那么你可以启动 javax.swing.Timer 有一些延迟,并且在调整大小时仅重新启动 Timer 通过调用 Action 或 AbstractAction,您可以计算任何内容并将其输出到 GUI 将在美国东部时间 (EDT) 上发布

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 中 Component 的 componentResized 事件,但仅在鼠标释放时执行 的相关文章

随机推荐