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

CheckBoxMenuItem: ItemStateChanged event not generated by call to setState()

XMLWordPrintable

    • generic
    • generic, solaris_2.6

      If the state of a CheckboxmenuItem is changed programaticly, ie via a call to setState(), no ItemStateChanged event
      is generated or broadcast to the listeners.

      sample program CI.java:

      /* CI.java -
      ** tests programatic changes to state of a CheckboxMenuItem to see if a
      ** registered listener is called.
      */

      import java.awt.event.*;
      import java.awt.*;

      public class CI {
          public static void main(String [] args) {
              Point p;
              Frame frame = new Frame();
              frame.setBounds(100,100,500,500);
              CheckboxMenuItem ci = new CheckboxMenuItem("text", false);
              Menu menu = new Menu("MyMenu");
              MenuBar mb = new MenuBar();
              mb.add(menu);
              menu.add(ci);

              frame.setMenuBar(mb);
              frame.setVisible(true);

              frame.addWindowListener ( new WindowAdapter() {
                  public void windowClosing( WindowEvent e ) {
                      System.exit(0);
                  }
              });

              ci.addItemListener(new LLCI());
              System.out.println("changing CheckboxMenuItem state on and off");
              ci.setState(true);
              ci.setState(false);
          }
      }

      class LLCI implements ItemListener {
          public void itemStateChanged(ItemEvent e) {
              System.out.println("ItemStateChanged event: "+e);
          }
      }

            bchristi Brent Christian
            herrick Andy Herrick (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: