⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jtoolbar.java

📁 gcc的组建
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* JToolBar.java --   Copyright (C) 2002, 2004, 2005  Free Software Foundation, Inc.This file is part of GNU Classpath.GNU Classpath is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU Classpath is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Classpath; see the file COPYING.  If not, write to theFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA02110-1301 USA.Linking this library statically or dynamically with other modules ismaking a combined work based on this library.  Thus, the terms andconditions of the GNU General Public License cover the wholecombination.As a special exception, the copyright holders of this library give youpermission to link this library with independent modules to produce anexecutable, regardless of the license terms of these independentmodules, and to copy and distribute the resulting executable underterms of your choice, provided that you also meet, for each linkedindependent module, the terms and conditions of the license of thatmodule.  An independent module is a module which is not derived fromor based on this library.  If you modify this library, you may extendthis exception to your version of the library, but you are notobligated to do so.  If you do not wish to do so, delete thisexception statement from your version. */package javax.swing;import java.awt.Component;import java.awt.Container;import java.awt.Dimension;import java.awt.Graphics;import java.awt.Insets;import java.awt.LayoutManager;import java.beans.PropertyChangeListener;import javax.accessibility.Accessible;import javax.accessibility.AccessibleContext;import javax.accessibility.AccessibleRole;import javax.accessibility.AccessibleStateSet;import javax.swing.JButton;import javax.swing.plaf.ToolBarUI;/** * JToolBar is a component that provides a toolbar to Swing programs. Users * can add buttons (or actions that will be represented by JButtons) as well * as other components to the JToolBar. JToolBars can be dragged in and out * of their parent components. If the JToolBar is dragged out of the parent, * then it will be displayed in its own RootPaneContainer. For dragging to * work properly, JToolBars need to be placed in a Container that has a * BorderLayout. That parent Container cannot have components in the NORTH, * EAST, SOUTH,  or WEST components (that is not the JToolBar). */public class JToolBar extends JComponent implements SwingConstants, Accessible{  /**   * AccessibleJToolBar   */  // FIXME: This inner class is a complete stub and must be implemented  // properly.  protected class AccessibleJToolBar extends AccessibleJComponent  {    /** DOCUMENT ME! */    private static final long serialVersionUID = -5516888265903814215L;    /**     * Constructor AccessibleJToolBar     */    protected AccessibleJToolBar()    {      // Nothing to do here.    }    /**     * getAccessibleStateSet     *     * @return AccessibleStateSet     */    public AccessibleStateSet getAccessibleStateSet()    {      return null; // TODO    }    /**     * getAccessibleRole     *     * @return AccessibleRole     */    public AccessibleRole getAccessibleRole()    {      return AccessibleRole.TOOL_BAR;    }  }  /**   * This is the private JToolBar layout manager.   */  private class DefaultToolBarLayout implements LayoutManager  {    /**     * This method is called when a new component is added to the container.     *     * @param name The name of the component added.     * @param comp The component that was added.     */    public void addLayoutComponent(String name, Component comp)    {      // Do nothing.    }    /**     * This method is called to lay out the given container  to position and     * size the child components.     *     * @param c The container to lay out.     *     * @throws Error DOCUMENT ME!     */    public void layoutContainer(Container c)    {      if (! (c instanceof JToolBar))	throw new Error("DefaultToolBarLayout can only be used on JToolBars.");      Insets insets = getInsets();      Insets margin = getMargin();      int middle;      if (margin != null)        {	  insets.left += margin.left;	  insets.top += margin.top;	  insets.bottom += margin.bottom;	  insets.right += margin.right;        }      Component[] components = c.getComponents();      Dimension tdims = c.getSize();      int start = 0;      Dimension pref;      if (getOrientation() == SwingUtilities.HORIZONTAL)        {	  start += insets.left;	  for (int i = 0; i < components.length; i++)	    {	      if (components[i] != null && components[i].isVisible())	        {		  pref = components[i].getPreferredSize();		  if (pref != null)		    {		      middle = (tdims.height - pref.height) / 2;		      components[i].setBounds(start, middle, pref.width,		                              pref.height);		      start += pref.width;		    }	        }	    }        }      else        {	  start += insets.top;	  for (int i = 0; i < components.length; i++)	    {	      if (components[i] != null && components[i].isVisible())	        {		  pref = components[i].getPreferredSize();		  if (pref != null)		    {		      middle = (tdims.width - pref.width) / 2;		      components[i].setBounds(middle, start, pref.width,		                              pref.height);		      start += pref.height;		    }	        }	    }        }    }    /**     * This method returns the minimum size of the given container given the     * child components.     *     * @param parent The container to measure.     *     * @return The minimum size of the given container.     */    public Dimension minimumLayoutSize(Container parent)    {      return preferredLayoutSize(parent);    }    /**     * This method returns the preferred size of the given container given the     * child components.     *     * @param parent The container to measure.     *     * @return The preferred size of the given container.     */    public Dimension preferredLayoutSize(Container parent)    {      int orientation = getOrientation();      Component[] components = getComponents();      int limit = 0;      int total = 0;      Dimension dims;      int w = 0;      int h = 0;      if (orientation == SwingConstants.HORIZONTAL)        {	  for (int i = 0; i < components.length; i++)	    {	      dims = components[i].getPreferredSize();	      if (dims != null)	        {		  if (dims.height > limit)		    limit = dims.height;		  total += dims.width;	        }	    }	  w = total;	  h = limit;        }      else        {	  for (int i = 0; i < components.length; i++)	    {	      dims = components[i].getPreferredSize();	      if (dims != null)	        {		  if (dims.width > limit)		    limit = dims.width;		  total += dims.height;	        }	    }	  w = limit;	  h = total;        }      Insets insets = getInsets();      w += insets.left + insets.right;      h += insets.top + insets.bottom;      Insets margin = getMargin();      if (margin != null)        {	  w += margin.left + margin.right;	  h += margin.top + margin.bottom;        }      return new Dimension(w, h);    }    /**     * This method is called when the given component  is removed from the     * container.     *     * @param comp The component removed.     */    public void removeLayoutComponent(Component comp)    {      // Do nothing.    }  }  /**   * This is an extension of JSeparator used in toolbars. Unlike JSeparator,   * nothing is painted for this Separator, it is only blank space that   * separates components.   */  public static class Separator extends JSeparator  {    /** DOCUMENT ME! */    private static final long serialVersionUID = -1656745644823105219L;    /**     * Creates a new Separator object.     */    public Separator()    {      super();    } // Separator()    /**     * Creates a new Separator object with the given size.     *     * @param size The size of the separator.     */    public Separator(Dimension size)    {      setPreferredSize(size);    } // Separator()    /**     * This method returns the String ID of the UI class of  Separator.     *     * @return The UI class' String ID.     */    public String getUIClassID()    {      return "ToolBarSeparatorUI";    } // getUIClassID()    /**     * This method returns the preferred size of the Separator.     *     * @return The preferred size of the Separator.     */    public Dimension getPreferredSize()    {      return super.getPreferredSize();    } // getPreferredSize()    /**     * This method returns the maximum size of the Separator.     *     * @return The maximum size of the Separator.     */    public Dimension getMaximumSize()    {      return super.getPreferredSize();    } // getMaximumSize()    /**     * This method returns the minimum size of the Separator.     *     * @return The minimum size of the Separator.     */    public Dimension getMinimumSize()    {      return super.getPreferredSize();    } // getMinimumSize()    /**     * This method returns the size of the Separator.     *     * @return The size of the Separator.     */    public Dimension getSeparatorSize()    {      return super.getPreferredSize();    } // getSeparatorSize()    /**     * This method sets the size of the Separator.     *     * @param size The new size of the Separator.     */    public void setSeparatorSize(Dimension size)    {      setPreferredSize(size);    } // setSeparatorSize()  } // Separator  /** DOCUMENT ME! */  private static final long serialVersionUID = -1269915519555129643L;  /** Whether the JToolBar paints its border. */  private transient boolean paintBorder = true;  /** The extra insets around the JToolBar. */  private transient Insets margin;  /** Whether the JToolBar can float (and be dragged around). */  private transient boolean floatable = true;  /** Whether the buttons will have rollover borders. */  private transient boolean rollover;  /** The orientation of the JToolBar. */  private int orientation = HORIZONTAL;  /**   * This method creates a new JToolBar object with horizontal orientation   * and no name.   */  public JToolBar()  {    this(null, HORIZONTAL);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -