src/java.desktop/share/classes/java/awt/Choice.java

Print this page


   1 /*
   2  * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 126      */
 127     public Choice() throws HeadlessException {
 128         GraphicsEnvironment.checkHeadless();
 129         pItems = new Vector<>();
 130     }
 131 
 132     /**
 133      * Constructs a name for this component.  Called by
 134      * <code>getName</code> when the name is <code>null</code>.
 135      */
 136     String constructComponentName() {
 137         synchronized (Choice.class) {
 138             return base + nameCounter++;
 139         }
 140     }
 141 
 142     /**
 143      * Creates the <code>Choice</code>'s peer.  This peer allows us
 144      * to change the look
 145      * of the <code>Choice</code> without changing its functionality.
 146      * @see     java.awt.Toolkit#createChoice(java.awt.Choice)
 147      * @see     java.awt.Component#getToolkit()
 148      */
 149     public void addNotify() {
 150         synchronized (getTreeLock()) {
 151             if (peer == null)
 152                 peer = getToolkit().createChoice(this);
 153             super.addNotify();
 154         }
 155     }
 156 
 157     /**
 158      * Returns the number of items in this <code>Choice</code> menu.
 159      *
 160      * @return the number of items in this <code>Choice</code> menu
 161      * @see     #getItem
 162      * @since   1.1
 163      */
 164     public int getItemCount() {
 165         return countItems();
 166     }
 167 
 168     /**
 169      * Returns the number of items in this {@code Choice} menu.
 170      *
 171      * @return the number of items in this {@code Choice} menu
 172      * @deprecated As of JDK version 1.1,


   1 /*
   2  * Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 126      */
 127     public Choice() throws HeadlessException {
 128         GraphicsEnvironment.checkHeadless();
 129         pItems = new Vector<>();
 130     }
 131 
 132     /**
 133      * Constructs a name for this component.  Called by
 134      * <code>getName</code> when the name is <code>null</code>.
 135      */
 136     String constructComponentName() {
 137         synchronized (Choice.class) {
 138             return base + nameCounter++;
 139         }
 140     }
 141 
 142     /**
 143      * Creates the <code>Choice</code>'s peer.  This peer allows us
 144      * to change the look
 145      * of the <code>Choice</code> without changing its functionality.

 146      * @see     java.awt.Component#getToolkit()
 147      */
 148     public void addNotify() {
 149         synchronized (getTreeLock()) {
 150             if (peer == null)
 151                 peer = getComponentFactory().createChoice(this);
 152             super.addNotify();
 153         }
 154     }
 155 
 156     /**
 157      * Returns the number of items in this <code>Choice</code> menu.
 158      *
 159      * @return the number of items in this <code>Choice</code> menu
 160      * @see     #getItem
 161      * @since   1.1
 162      */
 163     public int getItemCount() {
 164         return countItems();
 165     }
 166 
 167     /**
 168      * Returns the number of items in this {@code Choice} menu.
 169      *
 170      * @return the number of items in this {@code Choice} menu
 171      * @deprecated As of JDK version 1.1,