jinternalframe.java

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· Java 代码 · 共 1,717 行 · 第 1/3 页

JAVA
1,717
字号
  /**   * This method is overridden to allow for speedier painting while this   * JInternalFramme is being dragged.   *   * @param g The Graphics object to paint with.   */  protected void paintComponent(Graphics g)  {    super.paintComponent(g);  }  /**   * This method returns a String describing this JInternalFrame.   *   * @return A String describing this JInternalFrame.   */  protected String paramString()  {    return "JInternalFrame";  }  /**   * This method removes the given Component from the Container.   *   * @param comp The Component to remove.   */  public void remove(Component comp)  {    super.remove(comp);  }  /**   * This method removes an InternalFrameListener from this JInternalFrame.   *   * @param l The listener to remove.   */  public void removeInternalFrameListener(InternalFrameListener l)  {    listenerList.remove(InternalFrameListener.class, l);  }  /**   * This method resizes and positions this JInternalFrame. It also forces a   * relayout of the Container.   *   * @param x The x position of this JInternalFrame.   * @param y The y position of this JInternalFrame.   * @param width The width of this JInternalFrame.   * @param height The height of this JInternalFrame.   */  public void reshape(int x, int y, int width, int height)  {    super.reshape(x, y, width, height);    invalidate();    doLayout();  }  /**   * This method gives focus to the last child Component that had focus. This   * is used by the UI when this JInternalFrame is activated.   */  public void restoreSubcomponentFocus()  {    Component c = getMostRecentFocusOwner();    if (c != null)      c.requestFocus();  }  /**   * This method sets whether this JInternalFrame can be closed.   *   * @param b Whether this JInternalFrame can be closed.   */  public void setClosable(boolean b)  {    closable = b;  }  /**   * This method closes the JInternalFrame if the given boolean is true. If it   * is false, then the result of this method is unspecified. If the   * JInternalFrame is closed, this method does nothing. This method will   * first fire an INTERNAL_FRAME_CLOSING event and give a chance for veto   * listeners to cancel the close. If no listener vetoes the change, the   * closed property is set to true and the JInternalFrame is hidden and   * unselected. The method will finish by firing an INTERNAL_FRAME_CLOSED   * event.   *   * @param b Whether the JInternalFrame will be closed.   *   * @throws PropertyVetoException If a VetoableChangeListener vetoes the change.   */  public void setClosed(boolean b) throws PropertyVetoException  {    if (b && ! isClosed())      {	fireInternalFrameEvent(InternalFrameEvent.INTERNAL_FRAME_CLOSING);	fireVetoableChange(IS_CLOSED_PROPERTY, false, true);	isClosed = b;	firePropertyChange(IS_CLOSED_PROPERTY, false, true);	fireInternalFrameEvent(InternalFrameEvent.INTERNAL_FRAME_CLOSED);      }  }  /**   * This method sets the Container to be used as a Content Pane for this   * JInternalFrame.   *   * @param c The Container to use as a Content Pane.   */  public void setContentPane(Container c)  {    if (c != getContentPane())      {	Container old = getContentPane();	getRootPane().setContentPane(c);	firePropertyChange(CONTENT_PANE_PROPERTY, old, c);      }  }  /**   * This method sets the action taken when this JInternalFrame is closed.   *   * @param operation One of DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE or   *        DISPOSE_ON_CLOSE.   *   * @throws Error If the given operation is not one of the allowed modes.   */  public void setDefaultCloseOperation(int operation)  {    if (operation != DO_NOTHING_ON_CLOSE	&& operation != HIDE_ON_CLOSE        && operation != DISPOSE_ON_CLOSE)      throw new Error("Close operation must be one of DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, or DISPOSE_ON_CLOSE");    defaultCloseOperation = operation;  }  /**   * This method sets the JDesktopIcon that represents this JInternalFrame   * while it is iconified.   *   * @param d The JDesktopIcon that represents this JInternalFrame while it is   *        iconified.   */  public void setDesktopIcon(JDesktopIcon d)  {    d.setInternalFrame(this);    desktopIcon = d;  }  /**   * This method does nothing because this must be the root of a focus   * traversal cycle.   *   * @param focusCycleRoot Not used.   */  public final void setFocusCycleRoot(boolean focusCycleRoot)  {    // Do nothing  }  /**   * This method sets the Icon to be used in two places. The first is icon   * that is painted at the top left corner of the JInternalFrame when it is   * not iconified (clicking on that icon will activate the TitlePane   * JMenuBar). When the JInternalFrame is iconified, it will be the icon   * displayed in the JDesktopIcon. If no icon is set, the JInternalFrame   * will use a Look and Feel default.   *   * @param icon The Icon used in the TitlePane JMenuBar and iconified frames.   */  public void setFrameIcon(Icon icon)  {    if (icon != frameIcon)      {	Icon old = frameIcon;	frameIcon = icon;	firePropertyChange(FRAME_ICON_PROPERTY, old, frameIcon);      }  }  /**   * This method sets the Glass Pane used with this JInternalFrame.   *   * @param glass The Glass Pane to use with this JInternalFrame.   */  public void setGlassPane(Component glass)  {    if (glass != getGlassPane())      {	Component old = getGlassPane();	getRootPane().setGlassPane(glass);	firePropertyChange(GLASS_PANE_PROPERTY, old, glass);      }  }  /**   * This method iconifies or deiconifies this JInternalFrame given the   * boolean argument. If the JInternalFrame becomes iconified, it will fire   * an INTERNAL_FRAME_ICONIFIED event. If the JInternalFrame becomes   * deiconified, it will fire anINTERNAL_FRAME_DEICONIFIED event.   *   * @param b Whether this JInternalFrame is to be iconified or deiconified.   *   * @throws PropertyVetoException DOCUMENT ME!   */  public void setIcon(boolean b) throws PropertyVetoException  {    if (b != isIcon())      {	fireVetoableChange(IS_ICON_PROPERTY, b, isIcon);	isIcon = b;	firePropertyChange(IS_ICON_PROPERTY, ! isIcon, isIcon);	if (b)	  fireInternalFrameEvent(InternalFrameEvent.INTERNAL_FRAME_ICONIFIED);	else	  fireInternalFrameEvent(InternalFrameEvent.INTERNAL_FRAME_DEICONIFIED);      }  }  /**   * This method sets whether the JInternalFrame can be iconified. (This means   * that the JInternalFrame can be turned into an icon if minimized).   *   * @param b Whether the JInternalFrame can be iconified.   */  public void setIconifiable(boolean b)  {    iconable = b;  }  /**   * This method sets the JMenuBar to be used with this JInternalFrame.   *   * @param b The JMenuBar to be used with this JInternalFrame.   */  public void setJMenuBar(JMenuBar b)  {    getRootPane().setJMenuBar(b);  }  /**   * A helper method that set the layer that this JInternalFrame resides in.   * Using this version of the method means that the user should not set it   * to values that are already defined in JLayeredPane. If predefined values   * are to be used, the user should use the setLayer(Integer) version.   *   * @param layer The layer to place this JInternalFrame in.   */  public void setLayer(int layer)  {    setLayer(new Integer(layer));  }  /**   * A helper method that sets the layer that this JInternalFrame resides in.   * Calling this version of the method should use layer values that are   * already defined in JLayeredPane.   *   * @param layer The layer to place this JInternalFrame in.   */  public void setLayer(Integer layer)  {    JDesktopPane p = getDesktopPane();    if (p != null)      {	int pos = p.getPosition(this);	p.setLayer(this, layer.intValue(), pos);      }  }  /**   * This method sets the JLayeredPane to use with this JInternalFrame.   *   * @param layered The JLayeredPane to use as a layeredPane.   */  public void setLayeredPane(JLayeredPane layered)  {    if (layered != getLayeredPane())      {	JLayeredPane old = getLayeredPane();	getRootPane().setLayeredPane(layered);	firePropertyChange(LAYERED_PANE_PROPERTY, old, layered);      }  }  /**   * This method sets whether the JInternalFrame can be maximized.   *   * @param b Whether this JInternalFrame can be maximized.   */  public void setMaximizable(boolean b)  {    maximizable = b;  }  /**   * This method sets the Layout Manager used in the JInternalFrame. SetLayout   * should not be called on the JInternalFrame directly. Instead, it should   * be called with JInternalFrame.getContentPane().setLayout. Calls to this   * method with root pane checking enabled will cause exceptions to be   * thrown.   *   * @param manager The Layout Manager to be used with the JInternalFrame.   *   * @throws Error If rootPaneChecking is enabled.   */  public void setLayout(LayoutManager manager)  {    if (isRootPaneCheckingEnabled())      throw new Error("Cannot set layout. Use getContentPane().setLayout() instead.");    super.setLayout(manager);  }  /**   * This method sets the JInternalFrame to maximized (if the given argument   * is true) or restores the JInternalFrame to its normal bounds otherwise.   *   * @param b Whether this JInteralFrame will be maximized or restored.   *   * @throws PropertyVetoException If a VetoableChangeListener vetoes the change.   */  public void setMaximum(boolean b) throws PropertyVetoException  {    if (b != isMaximum())      {	fireVetoableChange(IS_MAXIMUM_PROPERTY, b, isMaximum);	isMaximum = b;	if (b)	  setNormalBounds(getBounds());	maxTransition = ! b;	firePropertyChange(IS_MAXIMUM_PROPERTY, ! isMaximum, isMaximum);	maxTransition = false;      }  }  /**   * This method is deprecated. This method sets the JMenuBar used with this   * JInternalFrame.   *   * @param m The JMenuBar to use with this JInternalFrame.   *   * @deprecated 1.0.3   */  public void setMenuBar(JMenuBar m)  {    setJMenuBar(m);  }  /**   * This method sets the bounds that this JInternalFrame will be restored to.   *   * @param r The bounds that this JInternalFrame will be restored to.   */  public void setNormalBounds(Rectangle r)  {    storedBounds.setBounds(r.x, r.y, r.width, r.height);  }  /**   * This method sets whether the JInternalFrame can be resized by a user   * action (like dragging at the frame borders).   *   * @param b Whether this JInternalFramer can be resized.   */  public void setResizable(boolean b)  {    resizable = b;  }  /**   * This method sets the Root Pane for this JInternalFrame.   *   * @param root The Root Pane for this JInternalFrame.   */  protected void setRootPane(JRootPane root)  {    if (rootPane != null)      remove(rootPane);    rootPane = root;    add(root);  }  /**   * This method sets whether root pane checking is enabled. If root pane   * checking is enabled, then calls to addImpl and setLayout will throw   * exceptions.   *   * @param enabled Whether root pane checking is enabled.   */  protected void setRootPaneCheckingEnabled(boolean enabled)  {    rootPaneCheckingEnabled = enabled;  }  /**   * This method sets whether this JInternalFrame is the selected frame in the   * JDesktopPane (or other container). When selected, a JInternalFrame will   * have focus and paint its TitlePane differently (usually a different   * colour). If this method selects the frame, this JInternalFrame will fire   * an INTERNAL_FRAME_ACTIVATED event. If it deselects this frame, it will   * fire an INTERNAL_FRAME_DEACTIVATED event.   *   * @param selected Whether this JInternalFrame will become selected or   *        deselected.   *   * @throws PropertyVetoException If a VetoableChangeListener vetoes the change.   */  public void setSelected(boolean selected) throws PropertyVetoException  {    if (selected != isSelected())      {	fireVetoableChange(IS_SELECTED_PROPERTY, selected, isSelected);	if (! selected)	  defaultFocus = getMostRecentFocusOwner();	isSelected = selected;	if (selected)	  restoreSubcomponentFocus();	firePropertyChange(IS_SELECTED_PROPERTY, ! isSelected, isSelected);	if (isSelected)	  fireInternalFrameEvent(InternalFrameEvent.INTERNAL_FRAME_ACTIVATED);	else	  fireInternalFrameEvent(InternalFrameEvent.INTERNAL_FRAME_DEACTIVATED);      }  }  /**   * This method sets the title displayed in the TitlePane of this   * JInternalFrame.   *   * @param title The title displayed.   */  public void setTitle(String title)  {    if (title == null && this.title == null)      return;    if (title == null || this.title == null || ! this.title.equals(title))      {	String old = title;	this.title = title;	firePropertyChange(TITLE_PROPERTY, old, this.title);      }  }  /**   * This method displays the JInternalFrame. If it is not visible, this   * method will bring this JInternalFrame to the front, make it visible and   * select it. If this is the first time this JInternalFrame is made   * visible, an INTERNAL_FRAME_OPENED event will be fired.   */  public void show()  {    if (! isVisible())      {	moveToFront();	super.show();	JDesktopPane pane = getDesktopPane();	if (pane != null)	  pane.setSelectedFrame(this);	else	  {	    try	      {		setSelected(true);	      }	    catch (PropertyVetoException e)	      {		// Do nothing. if they don't want to be selected.	      }	  }	if (isFirstTimeVisible)	  {	    isFirstTimeVisible = false;	    fireInternalFrameEvent(InternalFrameEvent.INTERNAL_FRAME_OPENED);	  }      }  }  /**   * This method is used to set the UI responsible for the JInternalFrame.   *   * @param ui The UI responsible for the JInternalFrame.   */  public void setUI(InternalFrameUI ui)  {    super.setUI(ui);  }  /**   * This method causes the JInternalFrame to be brough to back in the   * z-order.   */  public void toBack()  {    moveToBack();  }  /**   * This method causes the JInternalFrame to be brought to front in the   * z-order.   */  public void toFront()  {    moveToFront();  }  /**   * This method resets the UI to the Look and Feel defaults.   */  public void updateUI()  {    setUI((InternalFrameUI) UIManager.getUI(this));  }  /**   * This helper method allows JInternalFrames to signal that they were   * iconned for the first time.   *   * @param b Whether the JInternalFrame was iconned.   * @param ID The identifier of the property change event to fire if the   *        JInternalFrame is iconned for the first time.   */  void setWasIcon(boolean b, String ID)  {    if (b && ! wasIcon)      {	wasIcon = b;	firePropertyChange(ID, ! b, b);      }  }  /**   * This helper method returns whether the JInternalFrame has been iconned   * once already.   *   * @return Whether the JInternalFrame has been iconned once already.   */  boolean getWasIcon()  {    return wasIcon;  }  /**   * This method is a convenience method to fire vetoable property changes.   *   * @param name The identifier of the property change.   * @param oldValue The old value.   * @param newValue The new value.   *   * @throws PropertyVetoException Fired if a vetoable change listener vetoes   *         the change.   */  private void fireVetoableChange(String name, boolean oldValue,                                  boolean newValue)                           throws PropertyVetoException  {    super.fireVetoableChange(name, Boolean.valueOf(oldValue), Boolean.valueOf(newValue));  }}

⌨️ 快捷键说明

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