Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4151025

Ctrl + i causes unexpected behaviour

XMLWordPrintable

      The test program below gives different results on 1.2beta4 and 1.1.6

      On 1.2 Ctrl + i is ignored, all other accelerators work fine.

      On 1.1.6 the program seems to lock up if you pull down the menu and then make
      the menu go away, and then hit ctrl + i. It does not do this for other
      accelerator keystrokes. Also, it doesn't matter whether the accelerator for
      the menu item is ctrl + i or not. Even if you set it to something else, ctrl + i
      still locks it up after the menu has been pulled down at least once.




      import com.sun.java.swing.*;
      import java.awt.event.*;

      public class MenuTest
      {
      public MenuTest()
          {
      JFrame frame = new JFrame();
             frame.setSize(200,200);
      JMenuBar menuBar = new JMenuBar();
      JMenu menu = new JMenu("File");
      JMenuItem item = new JMenuItem("Exit");
      item.addActionListener(new ActionListener()
      {
      public void actionPerformed(ActionEvent e)
                {
      System.out.println("menu item selected");
                }
      });

             item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I,java.awt.Event.CTRL_MASK));
      menu.add(item);
             menuBar.add(menu);
      frame.setJMenuBar(menuBar);
             frame.show();
          }
          
      public static void main(String[] args)
          {
             new MenuTest();
      }
      }

      ======================================================================

      Name: wl91122 Date: 09/07/99


      9/5/99 eval1127@eng -- fine on Solaris; problem is win32-specific. Believe we have a dupe/open bug for this. This report filed against 1.2.2, but changed to
      kestrel-beta, since behavior still exists there. Accelerators look DISABLED (on both platforms).

      1) run the program
         typing ctrl-i has no effect

      2)
      public class CtrlI extends javax.swing.JFrame {
      public CtrlI() {
      setTitle("Ctrl-I Accelerator Bug");
      buildGUI ();
      pack ();
      }
      private void buildGUI () {
      menuBar = new javax.swing.JMenuBar ();
      fileMenu = new javax.swing.JMenu ();
      fileMenu.setText ("File");
      ctrli = new javax.swing.JMenuItem ();
      ctrli.setText ("Ctrli");
      ctrli.addActionListener (new java.awt.event.ActionListener () {
      public void actionPerformed (java.awt.event.ActionEvent evt) {
      javax.swing.JOptionPane.showMessageDialog(null, "Menu ctrl - I called");
      }});

      /****************************************/
      /****************************************/
      // $BUG: setting CTRL-I as accelerator does not work in jdk1.2.2 on NT/SP5,
      // typing CTRL-I has no effect
      ctrli.setAccelerator(javax.swing.KeyStroke.getKeyStroke('I',java.awt.Event.CTRL_MASK ));
      /****************************************/
      /****************************************/

      fileMenu.add(ctrli);
      fileMenu.addSeparator();
      exitMenu = new javax.swing.JMenuItem ();
      exitMenu.setText ("Exit");
      exitMenu.addActionListener (new java.awt.event.ActionListener () {
      public void actionPerformed (java.awt.event.ActionEvent evt) {
      javax.swing.JOptionPane.showMessageDialog(null, "Menu ctrl - X called");
      System.exit (0);
      }});
      addWindowListener (new java.awt.event.WindowAdapter () {
      public void windowClosing (java.awt.event.WindowEvent evt) {
      System.exit (0);
      }});

      // CTRL-X works well
      exitMenu.setAccelerator(javax.swing.KeyStroke.getKeyStroke('X',java.awt.Event.CTRL_MASK ));

      fileMenu.add(exitMenu);
      menuBar.add(fileMenu);
      setJMenuBar(menuBar);
      }

      protected javax.swing.JMenuBar menuBar;
      protected javax.swing.JMenu fileMenu;
      protected javax.swing.JMenuItem ctrli;
      protected javax.swing.JMenuItem exitMenu;

      public static void main(java.lang.String[] args) {
      new CtrlI ().show ();
      }
      }
      (Review ID: 94874)
      ======================================================================

            hgajewsksunw Hania Gajewska (Inactive)
            miflemi Mick Fleming
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: