<AWT Dev> Why does JFrame.setSize conflict with JFrame.setExtendedState?
Clemens Eisserer
linuxhippy at gmail.com
Tue Mar 25 15:38:59 PDT 2008
Hi Oleg,
Thanks a lot for anwering.
> Well it should either show 800x600 and maximize, or simply show
> maximized.
Yes that was also my assumption.
The idea behind the code was that the window should show up maximized,
and when the user clicks on the maximize icon/button in the
window-title-bar, the JFrame should resize to the 800x600 size.
> I have tried similar test on my KDE and usually I see correct behavior.
> And sometimes I see non-maximized frame 800x600. I've tested with
> 6u10
> b11. What version do you use?
I tested with 6u10b13, but saw the same behaviour till back to
JDK-1.4.2, and also with 6u10 and MAWT.
I see the same behaviour as you. Usually it opens up with 800x600 and
maximizes, but sometimes it simply stays at 800x600.
Could it be that there's a race somewhere, and the window-manager gets
the command to maximize before the command to set the window to
800x600?
Sleeping 100ms between resizing and maximizing it works reliable:
setVisible(true);
setSize(800, 600);
sleep(100);
setExtendedState(MAXIMIZED_BOTH);
With JDK7b19 I somtimes see the window maximized only horizontal (1280
on my laptop) but only 50px high, which is of course even worse,
however I never see it 800x600.
Any ideas where this could come from? Adding XSync() to
XBaseWindow.setBounds does not help ;)
Thanks a lot, lg Clemens
PS: this has really low priority for me, I just found it and thought
its worth reporting. I hope I don't steal any time away ...
More information about the awt-dev
mailing list