- 论坛徽章:
- 0
|
以下代码由改变窗体大小(最大化/还原)触发
- private void rootWindowStateChanged(WindowEvent evt) {
- System.out.println("this.windowStateChanged, event=" + evt);
- //TODO add your code for this.windowStateChanged
- System.out.println(evt.getWindow().getWidth() + " - " + evt.getWindow().getHeight());
- }
复制代码
this.windowStateChanged, event=java.awt.event.WindowEvent[WINDOW_STATE_CHANGED,opposite=null,oldState=0,newState=6] on frame0
1288 - 1002
this.windowStateChanged, event=java.awt.event.WindowEvent[WINDOW_STATE_CHANGED,opposite=null,oldState=6,newState=0] on frame0
400 - 300
this.windowStateChanged, event=java.awt.event.WindowEvent[WINDOW_STATE_CHANGED,opposite=null,oldState=0,newState=6] on frame0
400 - 300
this.windowStateChanged, event=java.awt.event.WindowEvent[WINDOW_STATE_CHANGED,opposite=null,oldState=6,newState=0] on frame0
1288 - 1002
如log所示,事件触发后显示的窗体大小并不一定是改变后的大小。请问有谁知道怎么解决吗?
一个简单的变通的方法是取得大小之前先Sleep片刻,但是有什么方法可以确保完成大小改变以后再取数值吗?
[ 本帖最后由 perryhg 于 2006-2-23 12:14 编辑 ] |
|