Here's one for you. Sometimes when I add a mnemonic to a JLabel, the corresponding JTextField gets an added character. That is, if the mnemonic is Alt C for Change, and the user selects Alt C, a C is added to the JTextField.
Martha Cofran
Greenhorn
Joined: Jan 31, 2001
Posts: 11
posted
0
This is actually a documented java1.2 bug. It has been fixed in java1.3. As yet, I've not been able to find anyone with a good work around.
Sriram Sankar
Greenhorn
Joined: Mar 01, 2001
Posts: 22
posted
0
Hello, I also had the same problem. But i used another approach. Instead of the mnemonics, use the keystroke class. It gives you lots of options. Atleast it is working for me. Pls create a keystroke method and register it to a jbutton, then it will work. Here is the sample code. import javax.swing.*; import java.awt.*; import java.awt.event.*; public class KeyStrokeSample { public static void main(String args[]) { JFrame frame = new ExitableJFrame("KeyStroke Sample"); JButton buttonA = new JButton( "<html><center>FOCUSED control alt 7"); JButton buttonB = new JButton( "<html><center>FOCUS/RELEASE VK_ENTER"); JButton buttonC = new JButton( "<html><center>ANCESTOR VK_F4+SHIFT_MASK"); JButton buttonD = new JButton( "<html><center>WINDOW ' '"); // Define ActionListener ActionListener actionListener = new ActionListener() { public void actionPerformed( ActionEvent actionEvent) { System.out.println( "Activated"); } }; KeyStroke controlAlt7 = KeyStroke.getKeyStroke( "control alt 7"); buttonA.registerKeyboardAction( actionListener, controlAlt7, JComponent.WHEN_ FOCUSED);