Hallo!
Kann mir jemand sagen, warum Mnemonics für Buttons unsichtbar (der Buchstabe ist nicht unterstrichen) wird, jedoch funktionsfähig ist, wenn LookAndFeel auf UIManager.getSystemLookAndFeelClassName() gesetzt wird und mit java5 compiliert bzw. gestartet wird.
Wenn ich die ähnlichen Sourcen mit java1.3 compeliere und starte, wird Mnemonics sichtbar.
Danke.
Kann mir jemand sagen, warum Mnemonics für Buttons unsichtbar (der Buchstabe ist nicht unterstrichen) wird, jedoch funktionsfähig ist, wenn LookAndFeel auf UIManager.getSystemLookAndFeelClassName() gesetzt wird und mit java5 compiliert bzw. gestartet wird.
Wenn ich die ähnlichen Sourcen mit java1.3 compeliere und starte, wird Mnemonics sichtbar.
Code:
import java.awt.FlowLayout;
import javax.swing.*;
import java.lang.*;
/*
* mnemo.java
*
*/
public class Mnemo extends JFrame {
public Mnemo(String... names) {
setLayout(new FlowLayout());
for (String s : names)
add(mnemoButton(s));
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(ClassNotFoundException cnfe) { cnfe.printStackTrace(); }
catch(InstantiationException ie) { ie.printStackTrace();}
catch(IllegalAccessException iae) { iae.printStackTrace();}
catch(UnsupportedLookAndFeelException ulafe) { ulafe.printStackTrace();}
Mnemo test = new Mnemo("Ch&ange", "&Load", "Las&t");
test.pack();
test.setVisible(true);
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public JButton mnemoButton(String s) {
int index = s.indexOf('&');
String name = s.replaceAll("&","");
JButton b = new JButton(name);
b.setMnemonic(name.charAt(index));
b.setDisplayedMnemonicIndex(index);
return b;
}
}
Danke.