public static void main(String[] args) {
System.setProperty("apple.laf.useScreenMenuBar", args[0]);
System.out.println("Argument "+args[0]);
System.out.println("Java version "+System.getProperty
("java.version"));
MacOSXMenuBarGUI.main(args);
}
}
2. class MacOSXMenuBarGUI
import java.awt.*;
import javax.swing.*;
public class MacOSXMenuBarGUI {
public static void main(String[] args) {
JFrame normalFrame = new JFrame();
Container c = normalFrame.getContentPane();
c.setLayout(new BorderLayout());
JMenuBar mb = new JMenuBar();
JMenu m = new JMenu("Test");
m.add(new JMenuItem("Test 1"));
m.add(new JMenuItem("Test 2"));
mb.add(m);
normalFrame.setJMenuBar(mb);
normalFrame.setSize(500,500);
normalFrame.setVisible(true);
}
}
_______________________________________
Java Web Start
1.4.2_07 menu bar never uses screen menu bar
1.5 situation is more promising:
if /Applications/Utilities/Java/Java Preferences has property Java
console = show console
then apple.laf.useScreenMenuBar doesn't work
BUT
if Java console = hide console or Java console = do not start console
apple.laf.useScreenMenuBar works as expected
if you put
System.setProperty("apple.laf.useScreenMenuBar", args[0]);
into the
MacOSXMenuBarGUI class
then
apple.laf.useScreenMenuBar won't work for 1.5 either
so only case when apple.laf.useScreenMenuBar works as expected
is
Java 5
Java console property of the Applications/Utilities/Java/Java
Preferences application
has value "hide console" or "do not start console"
and you call System.setProperty("apple.laf.useScreenMenuBar",
args[0]);
from the special launcher class that doesn't have any connection with
GUI classes
(explicitly or implicitly)
BUT THERE IS A VERY GOOD NEWS
if you use property element in jnlp's resource element:
or
<resources>
<j2se version="1.5*"/>
<property name="apple.laf.useScreenMenuBar" value="true"/>
....
</resources>
"apple.laf.useScreenMenuBar" will work on 1.4 and 1.5 platforms
doesn't matter how java console will be set (on/off doesn't matter)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden