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 + -
显示快捷键?