如何只调用一次componentResized方法(当用户停止按住鼠标按钮时)?

时间:2014-07-19 15:43:43

标签: java swing

我正在尝试在我的swing应用程序中实现ComponentListener,以便每次调整我的主JFrame窗口时,侦听器都应该响应该操作。 问题在于:

window.addComponentListener(new ComponentListener() {
        @Override
        public void componentResized(ComponentEvent e) {
            System.out.println(window.getWidth());
            System.out.println(window.getHeight());
        }

我清楚地看到,每次调整窗口大小只是通过小差异调用该方法。我想在调整大小结束时只调用一次componentResized方法。

我该怎么做?我需要缪斯听众来做吗?

1 个答案:

答案 0 :(得分:3)

  

我清楚地看到,每次窗口调整时都会调用该方法,只需要很小的差异

是的,但为什么这是一个问题。所有GUI都倾向于动态调整大小。为什么不想这样做。如果知道原因可能我们可以提出更好的方法。

无论如何,我想你可能在寻找:

Toolkit.getDefaultToolkit().setDynamicLayout( false );