Does Metal universally suck?

…or is it just on OS X? I had my project in metal for a while, and I’m running OS X, and it was extremely buggy. Resizing the window would cause very erratic behavior, minimizing it would sometimes crash my program, etc. I switched back to the default look and feel and amn’t having those problems no more. Is Metal that sucky on all platforms?

Metal is the default look and feel. At least on Linux and Windows. Did Apple make their LAF the default? I think Metal stinks just cuz it’s ugly, but no I’ve never had any problems with it and have used it rather extensively. I’ve never had any problems with official LAFs. User made LAFs are sometimes buggy.

[quote]Metal is the default look and feel. At least on Linux and Windows. Did Apple make their LAF the default?
[/quote]
Yes, they did. I wish all platforms defaulted to the native look and feel.

I too haven’t had any particular problems using Metal… but it has been a while since I tried it on the Mac. I think in 1.5 the metal LAF is updated to look better (fingers crossed). There will also be a GTK look and feel for the Linux folks.

My main problem is that on Win XP it seems the direct draw surface gets lost and Swing is unaware of it. All drawing doesn’t do anything - I can still click where the buttons are, and scroll things etc. (i can tell where some controls are (slpit pane) because the cursor changes… but nothing paints at all… until you resize the window. This usually happens when the screen saver (OpenGL aquarium) has run… I need to file a bug…

It sounds like OS X is causing all the trouble. People keep talking about 1.5. I thought 1.4 was pretty new. Am I wrong? When is 1.5 expected?

1.4 is only “pretty new” on OS X, because Apple took a long time to do the port. Linux and Windows have had 1.4 for a long time (well over a year).

I think 1.5 is schedueled for release in the first half of 2004

There shouldn’t be any difference in using metal or the native look and feel. Both are lightweight so both are drawn in the same way.

Actually I like metal. I like it’s colors and the style of the widgets. I also like the fact that it’s so easy to adjust the colors to match the corporate identity :slight_smile:

It’s a one-liner everyone can add to his/her program:

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

You could also use a command line property to overwrite the default Metal look.

[quote]I think in 1.5 the metal LAF is updated to look better (fingers crossed). There will also be a GTK look and feel for the Linux folks.
[/quote]
AFAIK, Metal will get some gradients to look more pastic. The GTK look already part of 1.4.2. You can even use it on Windows, just set the right system property to point some GTK2 pixmap theme and even the Windows version will pickup that look.

Ewww… the windows look and feel is horrible, I much prefer the Metal look and feel. Its even worse on WinXP where the windows look and feel is still the win9x/NT style. From what I’ve seen the OS X look and feel is much more complete (and accurate) compared to what its trying to ape, unlike the windows one :o

What really pisses me off is that I’ve been using ClearType on my WinXP box for a couple of years now and then suddenly whenever I run my Java apps they’re this disgusting pixelly 1990’s things, all dots and basrelief. Yak!!!

Anybody know how to turn on antialiasing for Swing’s font rendering in buttons and stuff?

Cas :slight_smile:

[quote]What really pisses me off is that I’ve been using ClearType on my WinXP. […]

Anybody know how to turn on antialiasing for Swing’s font rendering in buttons and stuff?
[/quote]
Use SWT instead of Swing and you’ll get the platform antialiasing for free :slight_smile: Or wait for 1.5. AFAIK, it will eventually support subpixel rendering. People also created a special metal look variant which uses the antialias rendering hint - but you’d have to add this to any custom look you want to use or to create.

Hm no good. ClearType ain’t straightforward antialiasing. And I’d want it to automatically do it, depending on the user’s prefs under Windows.

SWT’s ok but it means learning stuff and my tiny brain can’t cope.

Cas :slight_smile:

That is not true, at least starting with 1.4.2_01. The Windows LAF now adjusts to whatever the system is set to. It even properly sets itself to silver, olive or blue (which I thought was pretty impressive), and will set itself to the classic look if that is the current system look. The XP LAF is pretty bulbous and clunky, but so is the XP LAF in general, Java or not.

I think the “classic”, ie Win2Kish, LAF for Windows is quite well done. It blends in well, and only lets it be known its a Java app in a handful of areas (JFileChooser is the biggest offender).

I had a strong distaste for Metal when I first saw it years ago and still haven’t warmed up to it a bit. It’s really just plain ugly :slight_smile:

I like some aspects of Metal - but the colour scheme is do dark and dreary. And I hate the over-use of bold type.

I know it is a one-liner to get the platform LAF… I just think the default should be the platform LAF, that is what users will expect. If someone wants to force metal LAF it is the same basic one-liner.

Apple did do a very good job of making Java look like a native Aqua app.

If the GTK LAF is already part of 1.4.2 then the standard code for asking for the platform native LAF does not give you GTK on Linux (RedHat 9 running Gnome, or SuSE 9 RC1 runnning KDE). I expected that code to give me something that matched my desktop LAF.

Regardless ( or irregardless :slight_smile: ) of what should or shouldn’t be, m’man Onyx, Metal under OS X is bug-o-riffic ( not to say buggerriffic ) and the default, or OS X, LAF is not.

I have been using the free Kunststoff Look and Feel for many years - it is an extension of Metal and is very lightweight (only 30k or so).

http://www.incors.org/

I am actually in the process of adding an option to this programs ini file where you can pick “java-default”, “system-default” or custom, eg. Kunststoff so that the user can choose and even use their own one if it’s in their classpath.

I do love this feature of swing very much, it is so easy to change the Look and Feel.

Will.

Wow, It was the work of a moment to drop in the Kunststoff look and feel into my editor, and all of a sudden it looks a lot fresher without those dull greys of the metal style.

I think i’m going to have to add in a config file setting for this as well, especially since its such a small code change for such dramatic effect :slight_smile:

[quote]Wow, It was the work of a moment to drop in the Kunststoff look and feel into my editor, and all of a sudden it looks a lot fresher without those dull greys of the metal style.
[/quote]
You may also want to try out the JGoodies Plastic look [1] (which I personally prefer over Kunststoff where I dislike the shadows inside of input fields but it might to be too boring for games) or the Metouia look [2]. Furthermore, you can use any GTK2 pixmap look since 1.4.2 - on all platforms, for example Bumblebee.

[1] https://looks.dev.java.net/
[2] http://mlf.sourceforge.net/