AWT app not working with latest from cvs, seems to be CardLayout problem
Scott Gilbertson
scottg@mantatest.com
Thu Jan 20 16:28:00 GMT 2005
I checked out the latest from cvs, having not done so in a while, and my
application no longer works properly. Everything is OK with this build:
"gcc (GCC) 3.5.0 20040603 (experimental)".
I got the latest from CVS 2005年01月07日 (main branch), and I encountered two
problems when running the application:
1. Missing font. The getFont method in java.awt.Component was modified
2004年05月27日 to change the default font from "Fixed" (which works on my x86
linux system) to "Dialog" (which doesn't). No big deal - for now I modified
my local Component.java to return "Fixed" and got rid of the exception. I
suppose my app would work with the code from cvs if I explicitly set a font
for each top-level component, but I wonder if the library needs some method
to ensure that it picks a default font which is available on the system in
question (perhaps obtaining the default font from the specific peers).
2. My initial app appears (creates three frames, each with the correct stuff
in them), but when I do something that shows a different component under a
CardLayout, the old component still appears. I'm hoping somebody knows
what's changed since last June that is likely to account for this problem,
to save some debug time. Are there any problems at present with CardLayout?
I also saw some problems vanish, notably an IllegalMonitorStateException
that I was trapping, so it's by no means all bad news.
The application uses the xlib peers, and mostly lightweight AWT components.
It's possible that the xlib peers haven't kept up with some change which
required it to handle paint events differently. Does anybody know of such a
change in the way the other peers are used?
More information about the Java
mailing list