Wednesday, December 26, 2001 07:36 AM
Implement your GUI as an image. Hand-roll your own event management so that your widgets act like 'real' widgets.
Here's why you can't do this in Java (and also why you can't do this in C++, either!):
- People have different monitor resolutions. This causes GUIs to re-size, etc.
- People have different fonts. Even on Win32, you can change the default font for dialogs and window titles. In UNIX, you can specify font mappings for any font, and get really crazy if you want.
- In other languages, labels don't take up the same amount of space. Sometimes, they don't even go from left-to-right.
- For Java, users of different systems are expecting their applications to look like their native GUI. Mac users expect Mac look and feel. Windows users expect Win32 look and feel. UNIX users can pretty much expect anything, since there's no one, unified look and feel. I hesitate to say 'motif', since that looks like crap most of the time.
As you can see, there are many reasons why this is basically impossible, and why you should not even try. Usually, if you are forcing something to be the same, it will be more trouble than it is worth, and your product will suck.
I'd suggest focusing on making your users happy across platforms, languages, and desktop preferences.
Why do you want to fix a GUI exactly on al platforms?