Re: menuKeyTyped and menuKeyReleased methods do not work.
Try this simplified one:
----------------------------------------------------
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class MenuEnterKey extends JFrame
implements MenuKeyListener, ItemListener{
JLabel l = new JLabel();
JLabel a = new JLabel("Enter Loan Amount");
JLabel pay = new JLabel("");
ButtonGroup group0 = new ButtonGroup( );
JRadioButtonMenuItem year7 = new JRadioButtonMenuItem("7 Years at
5.35%");
JRadioButtonMenuItem year15 = new JRadioButtonMenuItem("15 Years at
5.5%");
JRadioButtonMenuItem year30
= new JRadioButtonMenuItem("30 Years at 5.75%",true);
Container pane;
public MenuEnterKey(){
super("Loan Payment");
setSize(300, 200);
setLocation(200, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JMenuItem quitItem = new JMenuItem("Exit");
year30.addMenuKeyListener(this);
year7.addItemListener(this);
year15.addItemListener(this);
year30.addItemListener(this);
JMenu menu1 = new JMenu("Select a Term");
menu1.setMnemonic('S');
year7.setMnemonic('7');
year15.setMnemonic('1');
year30.setMnemonic('3');
group0.add(year7);
menu1.add(year7);
group0.add(year15);
menu1.add(year15);
group0.add(year30);
menu1.add(year30);
menu1.addSeparator( );
menu1.add(quitItem);
// create a menu bar and use it in this JFrame
JMenuBar menuBar = new JMenuBar();
menuBar.add(menu1);
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
FlowLayout flo = new FlowLayout(FlowLayout.LEFT,10,20);
BorderLayout brd = new BorderLayout(5,5);
pane = getContentPane();
p1.setLayout(brd);
p2.setLayout(flo);
pane.setLayout(flo);
pane.add(l);
pane.add(p2);
pane.add(p1);
setJMenuBar(menuBar);
}
public void menuKeyTyped(MenuKeyEvent e){
System.out.println("type " + e.getKeyText(e.getKeyCode()));
}
public void menuKeyReleased(MenuKeyEvent e){
System.out.println("release " + e.getKeyText(e.getKeyCode()));
}
public void menuKeyPressed(MenuKeyEvent e){
System.out.println("press " + e.getKeyText(e.getKeyCode()));
}
public void itemStateChanged(ItemEvent e) {
if (e.getSource() == year7){
l.setText("Selected Term is 7 years.");
}
else if (e.getSource() == year15){
l.setText("Selected Term is 15 years.");
}
else if (e.getSource() == year30){
l.setText("Selected Term is 30 years.");
}
}
public static void main(String[] args){
MenuEnterKey f= new MenuEnterKey();
f.setVisible(true);
}
}
--------------------------------------------------------------------