menuKeyTyped and menuKeyReleased methods do not work.
Hi All,
The code below has 3 menu items. If I highlight a menu item and press
the Enter key, it will run
System.out.println("press");
3 times.
My first question is why three times but not one?
My next question is why it not run System.out.println("type");?
Thank a lot.
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);
JMenuItem quitItem = new JMenuItem("Exit");
year7.addMenuKeyListener(this);
year15.addMenuKeyListener(this);
year30.addMenuKeyListener(this);
year7.addItemListener(this);
year15.addItemListener(this);
year30.addItemListener(this);
// create the term menu
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");
}
public void menuKeyReleased(MenuKeyEvent e){
System.out.println("release");
}
public void menuKeyPressed(MenuKeyEvent e){
int key = e.getKeyCode();
if (key!=e.VK_ENTER) {
/*if (e.getSource() == year7){
l.setText("Selected Term is 7 years.");
}
if (year15.isSelected()){
l.setText("Selected Term is 15 years.");
}
if (year30.isSelected()){
l.setText("Selected Term is 30 years.");
}*/
e.consume();
}
else
System.out.println("press");
}
public void itemStateChanged(ItemEvent e) {
if (e.getSource() == year7){
l.setText("Selected Term is 7 years.");
}
if (e.getSource() == year15){
l.setText("Selected Term is 15 years.");
}
if (e.getSource() == year30){
l.setText("Selected Term is 30 years.");
}}
public static void main(String[] args){
MenuEnterKey f= new MenuEnterKey();
f.setVisible(true);
}}