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

Default Button does not work from JComboBox

XMLWordPrintable

    • beta2
    • generic, x86
    • generic, windows_nt



      Name: skT45625 Date: 05/10/2000


      C:\>java -version
      java version "1.3.0rc3"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc3-Z)
      Java HotSpot(TM) Client VM (build 1.3.0rc3-Z, mixed mode)

      1. Create a JFrame with one or more JTextFields and one or more JComboBoxes.
      Also add one or more buttons and set one be default. Add the code which will
      pass the Enter key through to the default button. When in a textbox, the enter
      button gets fired, but not when in a combobox.

      2.
      //Title: Bug Report
      //Version:
      //Author: Freddie Schwenke
      //Company: infor
      import javax.swing.*;
      import javax.swing.text.*;
      import java.awt.*;
      import java.awt.event.*;

      //==============================================================================

      public class BugApp
      {

      private JFrame frame = new JFrame();

      private JTextField text1 = new JTextField(20);
      private JTextField text2 = new JTextField(20);
      private JComboBox combo1 = new JComboBox(new Object[] {"Item 1", "Item 2", "Item 3"});
      private JComboBox combo2 = new JComboBox(new Object[] {"Item 1", "Item 2", "Item 3"});

      private JButton okButton = new JButton("OK");
      private JButton cancelButton = new JButton("Cancel");

      private JPanel textPanel = new JPanel(new FlowLayout());
      private JPanel buttonPanel = new JPanel(new FlowLayout());

      static
      {
        JTextField f = new JTextField();
        KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
        Keymap map = f.getKeymap();
        map.removeKeyStrokeBinding(enter);
      }

      //------------------------------------------------------------------------------

      public BugApp()
      {
        frame.getContentPane().setLayout(new BorderLayout());
        frame.setSize(new Dimension(400, 300));
        frame.setTitle("Frame Title");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        textPanel.add(text1);
        textPanel.add(text2);
        textPanel.add(combo1);
        textPanel.add(combo2);

        buttonPanel.add(okButton);
        buttonPanel.add(cancelButton);

        frame.getContentPane().add(textPanel, BorderLayout.CENTER);
        frame.getContentPane().add(buttonPanel, BorderLayout.SOUTH);

        frame.getRootPane().setDefaultButton(okButton);

      // This is just to check when the OK Button was pressed.
        okButton.addActionListener(new ActionListener()
        {
          public void actionPerformed(ActionEvent ae)
          {
            System.err.println("OK Button pressed");
          }
        });

        combo1.setEditable(true);
        combo2.setEditable(false);
      }

      //------------------------------------------------------------------------------

      public void show()
      {
        frame.show();
      }

      //==============================================================================

      //Main method
      public static void main(String[] args)
      {
        try
        {
          UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch(Exception e)
        {
        }
        BugApp app = new BugApp();
        app.show();
      }

      //==============================================================================

      }

      3. No Error, just nothing happened.

      4.

      5. The problem occurred in RC1 as well, but there it was on Textboxes as
      well. The textboxes seems to be fine now.
      (Review ID: 104680)
      ======================================================================

            mdavidsosunw Mark Davidson (Inactive)
            skondamasunw Suresh Kondamareddy (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: