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

📄 container.java

📁 this gcc-g++-3.3.1.tar.gz is a source file of gcc, you can learn more about gcc through this codes f
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
      return;    ContainerPeer cPeer = null;    if (peer != null && ! (peer instanceof LightweightPeer))      {        cPeer = (ContainerPeer) peer;        cPeer.beginValidate();      }    doLayout();    for (int i = 0; i < ncomponents; ++i)      {        Component comp = component[i];        if (! comp.isValid())          {            if (comp instanceof Container)              {                ((Container) comp).validateTree();              }            else              {                component[i].validate();              }          }      }    /* children will call invalidate() when they are layed out. It       is therefore imporant that valid is not set to true       before after the children has been layed out. */    valid = true;    if (cPeer != null)      cPeer.endValidate();  }  public void setFont(Font f)  {    super.setFont(f);    // FIXME, should invalidate all children with font == null  }  /**   * Returns the preferred size of this container.   *   * @return The preferred size of this container.   */  public Dimension getPreferredSize()  {    if (layoutMgr != null)      return layoutMgr.preferredLayoutSize(this);    else      return super.getPreferredSize();  }  /**   * Returns the preferred size of this container.   *   * @return The preferred size of this container.   *   * @deprecated use {@link #getPreferredSize()} instead   */  public Dimension preferredSize()  {    return getPreferredSize();  }  /**   * Returns the minimum size of this container.   *   * @return The minimum size of this container.   */  public Dimension getMinimumSize()  {    if (layoutMgr != null)      return layoutMgr.minimumLayoutSize(this);    else      return super.getMinimumSize();  }  /**   * Returns the minimum size of this container.   *   * @return The minimum size of this container.   *   * @deprecated use {@link #getMinimumSize()} instead   */  public Dimension minimumSize()  {    return getMinimumSize();  }  /**   * Returns the maximum size of this container.   *   * @return The maximum size of this container.   */  public Dimension getMaximumSize()  {    if (layoutMgr != null && layoutMgr instanceof LayoutManager2)      {        LayoutManager2 lm2 = (LayoutManager2) layoutMgr;        return lm2.maximumLayoutSize(this);      }    else      return super.getMaximumSize();  }  /**   * Returns the preferred alignment along the X axis.  This is a value   * between 0 and 1 where 0 represents alignment flush left and   * 1 means alignment flush right, and 0.5 means centered.   *   * @return The preferred alignment along the X axis.   */  public float getAlignmentX()  {    if (layoutMgr instanceof LayoutManager2)      {        LayoutManager2 lm2 = (LayoutManager2) layoutMgr;        return lm2.getLayoutAlignmentX(this);      }    else      return super.getAlignmentX();  }  /**   * Returns the preferred alignment along the Y axis.  This is a value   * between 0 and 1 where 0 represents alignment flush top and   * 1 means alignment flush bottom, and 0.5 means centered.   *   * @return The preferred alignment along the Y axis.   */  public float getAlignmentY()  {    if (layoutMgr instanceof LayoutManager2)      {        LayoutManager2 lm2 = (LayoutManager2) layoutMgr;        return lm2.getLayoutAlignmentY(this);      }    else      return super.getAlignmentY();  }  /**   * Paints this container.  The implementation of this method in this   * class forwards to any lightweight components in this container.  If   * this method is subclassed, this method should still be invoked as   * a superclass method so that lightweight components are properly   * drawn.   *   * @param graphics The graphics context for this paint job.   */  public void paint(Graphics g)  {    if (!isShowing())      return;    super.paint(g);    visitChildren(g, GfxPaintVisitor.INSTANCE, true);  }  /**   * Updates this container.  The implementation of this method in this   * class forwards to any lightweight components in this container.  If   * this method is subclassed, this method should still be invoked as   * a superclass method so that lightweight components are properly   * drawn.   *   * @param graphics The graphics context for this update.   */  public void update(Graphics g)  {    super.update(g);  }  /**   * Prints this container.  The implementation of this method in this   * class forwards to any lightweight components in this container.  If   * this method is subclassed, this method should still be invoked as   * a superclass method so that lightweight components are properly   * drawn.   *   * @param graphics The graphics context for this print job.   */  public void print(Graphics g)  {    super.print(g);    visitChildren(g, GfxPrintVisitor.INSTANCE, true);  }  /**   * Paints all of the components in this container.   *   * @param graphics The graphics context for this paint job.   */  public void paintComponents(Graphics g)  {    super.paint(g);    visitChildren(g, GfxPaintAllVisitor.INSTANCE, true);  }  /**   * Prints all of the components in this container.   *   * @param graphics The graphics context for this print job.   */  public void printComponents(Graphics g)  {    super.paint(g);    visitChildren(g, GfxPrintAllVisitor.INSTANCE, true);  }  /**   * Adds the specified container listener to this object's list of   * container listeners.   *   * @param listener The listener to add.   */  public synchronized void addContainerListener(ContainerListener l)  {    containerListener = AWTEventMulticaster.add(containerListener, l);  }  /**   * Removes the specified container listener from this object's list of   * container listeners.   *   * @param listener The listener to remove.   */  public synchronized void removeContainerListener(ContainerListener l)  {    containerListener = AWTEventMulticaster.remove(containerListener, l);  }  /**   * @since 1.4   */  public synchronized ContainerListener[] getContainerListeners()  {    return (ContainerListener[])      AWTEventMulticaster.getListeners(containerListener,                                       ContainerListener.class);  }  /**   * Returns an array of all the objects currently registered as FooListeners   * upon this Container. FooListeners are registered using the addFooListener   * method.   *   * @since 1.3   */  public EventListener[] getListeners(Class listenerType)  {    if (listenerType == ContainerListener.class)      return getContainerListeners();    return super.getListeners(listenerType);  }  /**   * Processes the specified event.  This method calls   * <code>processContainerEvent()</code> if this method is a   * <code>ContainerEvent</code>, otherwise it calls the superclass   * method.   *   * @param event The event to be processed.   */  protected void processEvent(AWTEvent e)  {    if (e instanceof ContainerEvent)      processContainerEvent((ContainerEvent) e);    else      super.processEvent(e);  }  /**   * Called when a container event occurs if container events are enabled.   * This method calls any registered listeners.   *   * @param event The event that occurred.   */  protected void processContainerEvent(ContainerEvent e)  {    if (containerListener == null)      return;    switch (e.id)      {      case ContainerEvent.COMPONENT_ADDED:        containerListener.componentAdded(e);        break;      case ContainerEvent.COMPONENT_REMOVED:        containerListener.componentRemoved(e);        break;      }  }  /**   * AWT 1.0 event processor.   *   * @param event The event that occurred.   *   * @deprecated use {@link #dispatchEvent(AWTEvent)} instead   */  public void deliverEvent(Event e)  {  }  /**   * Returns the component located at the specified point.  This is done   * by checking whether or not a child component claims to contain this   * point.  The first child component that does is returned.  If no   * child component claims the point, the container itself is returned,   * unless the point does not exist within this container, in which   * case <code>null</code> is returned.   *   * @param x The X coordinate of the point.   * @param y The Y coordinate of the point.   *   * @return The component containing the specified point, or   * <code>null</code> if there is no such point.   */  public Component getComponentAt(int x, int y)  {    synchronized (getTreeLock ())      {        if (! contains(x, y))          return null;        for (int i = 0; i < ncomponents; ++i)          {            // Ignore invisible children...            if (!component[i].isVisible())              continue;            int x2 = x - component[i].x;            int y2 = y - component[i].y;            if (component[i].contains(x2, y2))              return component[i];          }        return this;      }  }  /**   * Returns the component located at the specified point.  This is done   * by checking whether or not a child component claims to contain this   * point.  The first child component that does is returned.  If no   * child component claims the point, the container itself is returned,   * unless the point does not exist within this container, in which   * case <code>null</code> is returned.   *   * @param point The point to return the component at.   *   * @return The component containing the specified point, or <code>null</code>   * if there is no such point.   *   * @deprecated use {@link #getComponentAt(int, int)} instead   */  public Component locate(int x, int y)  {    return getComponentAt(x, y);  }  /**   * Returns the component located at the specified point.  This is done   * by checking whether or not a child component claims to contain this   * point.  The first child component that does is returned.  If no   * child component claims the point, the container itself is returned,   * unless the point does not exist within this container, in which   * case <code>null</code> is returned.   *   * @param point The point to return the component at.   * @return The component containing the specified point, or <code>null</code>   * if there is no such point.   */  public Component getComponentAt(Point p)  {    return getComponentAt(p.x, p.y);  }  public Component findComponentAt(int x, int y)  {    synchronized (getTreeLock ())      {        if (! contains(x, y))          return null;        for (int i = 0; i < ncomponents; ++i)          {            // Ignore invisible children...            if (!component[i].isVisible())              continue;            int x2 = x - component[i].x;            int y2 = y - component[i].y;            // We don't do the contains() check right away because            // findComponentAt would redundantly do it first thing.            if (component[i] instanceof Container)              {                Container k = (Container) component[i];                Component r = k.findComponentAt(x2, y2);                if (r != null)                  return r;              }            else if (component[i].contains(x2, y2))              return component[i];          }        return this;      }  }  public Component findComponentAt(Point p)  {    return findComponentAt(p.x, p.y);  }  /**   * Called when this container is added to another container to inform it   * to create its peer.  Peers for any child components will also be   * created.   */  public void addNotify()  {    addNotifyContainerChildren();    super.addNotify();  }  /**   * Called when this container is removed from its parent container to   * inform it to destroy its peer.  This causes the peers of all child   * component to be destroyed as well.   */  public void removeNotify()  {    synchronized (getTreeLock ())      {        for (int i = 0; i < ncomponents; ++i)          component[i].removeNotify();        super.removeNotify();      }  }  /**   * Tests whether or not the specified component is contained within   * this components subtree.   *   * @param component The component to test.   *   * @return <code>true</code> if this container is an ancestor of the   * specified component, <code>false</code> otherwise.   */  public boolean isAncestorOf(Component comp)  {    synchronized (getTreeLock ())      {        while (true)          {            if (comp == null)              return false;            if (comp == this)              return true;            comp = comp.getParent();          }      }  }  /**   * Returns a string representing the state of this container for   * debugging purposes.   *   * @return A string representing the state of this container.   */  protected String paramString()  {    String param = super.paramString();    if (layoutMgr != null)      param = param + "," + layoutMgr.getClass().getName();    return param;  }  /**   * Writes a listing of this container to the specified stream starting

⌨️ 快捷键说明

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