我正在尝试为我的程序动态调整大小,为此我需要始终知道窗口大小。它一直在运行,直到我添加了getBounds()方法,并且我使用println()来输出窗口的不断变化的大小。然而,它似乎没有使用该方法注册更改窗口,我想知道如何,这里是我用来获取窗口的代码,它将打印原始大小,但数字不会像窗口那样改变。{{ 1}}和Y相同。
答案 0 :(得分:3)
通过附加ComponentListener(http://docs.oracle.com/javase/7/docs/api/java/awt/event/ComponentListener.html),您可以通过任何Swing组件获得布局更改的通知。
Swing打算制作动态布局的方法是使用LayoutManager(LayoutManager将使用为每个组件提供的约束自动调整组件)。听起来你正试图重新发明轮子。请查看http://docs.oracle.com/javase/tutorial/uiswing/layout/using.html以获取LayoutManagers的介绍。