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

📄 window.java

📁 Skin Look And Feel 1.2.10, 给你的java程序换肤, 支持大量通用皮肤文件.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
     * @return The FrameIcon value
     */
    public Icon getFrameIcon() {
      return frame.getFrameIcon();
    }

    /**
     * Adds a feature to the PropertyChangeListener attribute of the
     * InternalFrameWindow object
     * 
     * @param listener The feature to be added to the
     *        PropertyChangeListener attribute
     */
    public void addPropertyChangeListener(PropertyChangeListener listener) {
      frame.addPropertyChangeListener(listener);
    }

    /**
     * Adds a feature to the PropertyChangeListener attribute of the
     * InternalFrameWindow object
     * 
     * @param listener The feature to be added to the
     *        PropertyChangeListener attribute
     */
    public void removePropertyChangeListener(PropertyChangeListener listener) {
      frame.removePropertyChangeListener(listener);
    }

    /**
     * Description of the Method
     * 
     * @param event Description of Parameter
     */
    public void dispatchEvent(AWTEvent event) {
      frame.dispatchEvent(event);
    }

    // workaround for JDK1.2
    // seems to work as expected in most case
    /**
     * Description of the Method
     */
    private void doDefaultCloseAction() {
      int defaultCloseOperation = frame.getDefaultCloseOperation();
      frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
      switch (defaultCloseOperation) {
      case WindowConstants.HIDE_ON_CLOSE:
        try {
          frame.setClosed(true);
          frame.setVisible(false);
          if (frame.isSelected()) {
            frame.setSelected(false);
          }
        } catch (PropertyVetoException pve) {}
        break;
      case WindowConstants.DISPOSE_ON_CLOSE:
        try {
          frame.setClosed(true);
          frame.dispose();
          // only executes if close wasn't vetoed.
        } catch (PropertyVetoException pve) {}
        break;
      case 3:
        // EXIT_ON_CLOSE:
        System.exit(0);
        break;
      case WindowConstants.DO_NOTHING_ON_CLOSE:
        try {
          frame.setClosed(true);
        } catch (PropertyVetoException pve) {}
      default:
        break;
      }
      frame.setDefaultCloseOperation(defaultCloseOperation);
    }

    public String toString() {
      return super.toString() + "[title=" + getTitle() + "]";
    }
  }

  static class FrameWindow implements Window {

    private JFrame frame = null;

    private JDialog dialog = null;

    private Rectangle restoreBounds = null;

    private Rectangle oldBounds = null;

    private boolean shaded = false;

    private boolean selected = true;
    
    /**
     * Constructor for the SkinWindowWindow object
     * 
     * @param frame Description of Parameter
     */
    public FrameWindow() {
      frame = null;
    }

    public void setFrame(java.awt.Window argWin) {
      if (argWin instanceof JDialog) {
        dialog = (JDialog)argWin;
      } else if (argWin instanceof JFrame) {
        frame = (JFrame)argWin;
      } else {
        frame = null;
        dialog = null;
      }
      oldBounds = null;
      shaded = false;
    }

    /**
     * Sets the Selected attribute of the SkinWindowWindow object
     * 
     * @param b The new Selected value
     * @exception PropertyVetoException Description of Exception
     */
    public void setSelected(boolean b) throws PropertyVetoException {
      if (b) {
        if (frame != null) {
          frame.show();
          frame.toFront();
        } else if (dialog != null) {
          dialog.show();
          dialog.toFront();
        }
      }
      this.selected = b;
    }

    public java.awt.Window getMainFrame() {
      java.awt.Window toreturn = null;
      if (frame != null)
        toreturn = frame;
      else if (dialog != null) toreturn = dialog;
      return toreturn;
    }

    /**
     * Sets the Icon attribute of the SkinWindowWindow object
     * 
     * @param b The new Icon value
     * @exception PropertyVetoException Description of Exception
     */
    public void setIcon(boolean b) throws PropertyVetoException {
      if (frame != null) {
        frame.setState(Frame.ICONIFIED);
        //frame.show();
      } else if (dialog != null) {
        // not support by dialog
      }
    }

    /**
     * Sets the Maximum attribute of the SkinWindowWindow object
     * 
     * @param b The new Maximum value
     * @exception PropertyVetoException Description of Exception
     */
    public void setMaximum(boolean b) throws PropertyVetoException {
      if (frame != null) {
        if (SkinRootPaneUI.getExtendedState(frame) != SkinRootPaneUI.Frame_MAXIMIZED_BOTH) {
          restoreBounds = frame.getBounds();
          SkinRootPaneUI.setExtendedState(frame,
              SkinRootPaneUI.Frame_MAXIMIZED_BOTH);
        } else if (restoreBounds != null) {
          frame.setBounds(restoreBounds);
        }
        dispatchEvent(new ComponentEvent(frame,
            ComponentEvent.COMPONENT_RESIZED));
      } else if (dialog != null) {
        // not available for JDialog
      }
    }

    /**
     * Sets the Shaded attribute of the SkinWindowWindow object
     * 
     * @param b The new Shaded value
     */
    public void setShaded(boolean b) {
      java.awt.Window window = (frame == null)?(java.awt.Window)dialog
          :(java.awt.Window)frame;

      if (window == null || b == shaded) { return; }

      if (b == true) {
        Rectangle bounds = window.getBounds();
        oldBounds = new Rectangle(bounds.x, bounds.y, bounds.width,
            bounds.height);
        window.setBounds(oldBounds.x, oldBounds.y, oldBounds.width, window
            .getMinimumSize().height - 2);
      } else {
        Point location = window.getLocation();
        window.setBounds(location.x, location.y, oldBounds.width,
            oldBounds.height);
        oldBounds = null;
      }
      shaded = b;
    }

    /**
     * Sets the Closed attribute of the SkinWindowWindow object
     * 
     * @param b The new Closed value
     * @exception PropertyVetoException Description of Exception
     */
    public void setClosed(boolean b) throws PropertyVetoException {
      if (frame != null)
        frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_CLOSING));
      else if (dialog != null)
          dialog.dispatchEvent(new WindowEvent(dialog,
              WindowEvent.WINDOW_CLOSING));
    }

    /**
     * Gets the Container attribute of the SkinWindowWindow object
     * 
     * @return The Container value
     */
    public Container getContainer() {
      if (frame != null)
        return frame.getContentPane();
      else if (dialog != null) return dialog.getContentPane();
      return null;
    }

    /**
     * Gets the Selected attribute of the SkinWindowWindow object
     * 
     * @return The Selected value
     */
    public boolean isSelected() {
      return selected;
      /** With JDK1.4 use:
      boolean toreturn = true;
      if (frame != null)
        toreturn = frame.isActive();
      else if (dialog != null) toreturn = dialog.isActive();
      return toreturn;
      **/
    }

    /**
     * Gets the Icon attribute of the SkinWindowWindow object
     * 
     * @return The Icon value
     */
    public boolean isIcon() {
      boolean toreturn = false;
      if (frame != null) toreturn = frame.getState() == Frame.ICONIFIED;
      return toreturn;
    }

    /**
     * Gets the Maximum attribute of the SkinWindowWindow object
     * 
     * @return The Maximum value
     */
    public boolean isMaximum() {
      boolean toreturn = false;
      if (frame != null)
          toreturn = SkinRootPaneUI.getExtendedState(frame) == SkinRootPaneUI.Frame_MAXIMIZED_BOTH;
      return toreturn;
    }

    /**
     * Gets the Maximizable attribute of the SkinWindowWindow object
     * 
     * @return The Maximizable value
     */
    public boolean isMaximizable() {
      boolean toreturn = false;
      if (frame != null) toreturn = frame.isResizable() && !isShaded();
      return toreturn;
    }

    /**
     * Gets the Shaded attribute of the SkinWindowWindow object
     * 
     * @return The Shaded value
     */
    public boolean isShaded() {
      return shaded;
    }

    /**
     * Gets the Iconifiable attribute of the SkinWindowWindow object
     * 
     * @return The Iconifiable value
     */
    public boolean isIconifiable() {
      boolean toreturn = false;
      if (frame != null) toreturn = frame.isResizable();
      return toreturn;
    }

    /**
     * Gets the Closable attribute of the SkinWindowWindow object
     * 
     * @return The Closable value
     */
    public boolean isClosable() {
      return true;
    }

    /**
     * Gets the Resizable attribute of the SkinWindowWindow object
     * 
     * @return The Resizable value
     */
    public boolean isResizable() {
      boolean toreturn = false;
      if (frame != null) {
        toreturn = frame.isResizable();
      } else if (dialog != null) { return dialog.isResizable() && !isShaded(); }
      return toreturn;
    }

    /**
     * Gets the Title attribute of the SkinWindowWindow object
     * 
     * @return The Title value
     */
    public String getTitle() {
      String title = "";
      if (frame != null)
        title = frame.getTitle();
      else if (dialog != null) title = dialog.getTitle();
      return title;
    }

    /**
     * Gets the FrameIcon attribute of the SkinWindowWindow object
     * 
     * @return The FrameIcon value
     */
    public Icon getFrameIcon() {
      Icon toreturn = null;

      Image frameImage = null;

      if (frame != null) {
        frameImage = frame.getIconImage();
      } else if (dialog != null) {
        // JDialog takes it from the parent frame
        Frame parent = (Frame)SwingUtilities.getAncestorOfClass(Frame.class,
            dialog);
        if (parent != null) {
          frameImage = parent.getIconImage();
        }
      }

      if (frameImage != null) {
        toreturn = new ImageIcon(frameImage);
      }

      return toreturn;
    }

    /**
     * Adds a feature to the PropertyChangeListener attribute of the
     * SkinWindowWindow object
     * 
     * @param listener The feature to be added to the
     *        PropertyChangeListener attribute
     */
    public void addPropertyChangeListener(PropertyChangeListener listener) {
      if (frame != null)
        frame.addPropertyChangeListener(listener);
      else if (dialog != null) dialog.addPropertyChangeListener(listener);
    }

    /**
     * Removes a feature to the PropertyChangeListener attribute of
     * the SkinWindowWindow object
     * 
     * @param listener The feature to be added to the
     *        PropertyChangeListener attribute
     */
    public void removePropertyChangeListener(PropertyChangeListener listener) {
      if (frame != null)
        frame.removePropertyChangeListener(listener);
      else if (dialog != null) dialog.removePropertyChangeListener(listener);
    }

    /**
     * Description of the Method
     * 
     * @param event Description of Parameter
     */
    public void dispatchEvent(AWTEvent event) {
      if (frame != null) {
        frame.dispatchEvent(event);
      } else if (dialog != null) {
        dialog.dispatchEvent(event);
      }
    }

    public String toString() {
      return super.toString() + "[title=" + getTitle() + "]";
    }
  }

}

⌨️ 快捷键说明

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