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

📄 metalinternalframeui.java

📁 JAVA的一些源码 JAVA2 STANDARD EDITION DEVELOPMENT KIT 5.0
💻 JAVA
字号:
/* * @(#)MetalInternalFrameUI.java	1.30 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.swing.plaf.metal;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.border.*;import javax.swing.plaf.basic.*;import java.util.EventListener;import java.beans.PropertyChangeListener;import java.beans.PropertyChangeEvent;import java.beans.PropertyVetoException;import javax.swing.plaf.*;/** * Metal implementation of JInternalFrame.   * <p> * * @version 1.30 12/19/03 * @author Steve Wilson */public class MetalInternalFrameUI extends BasicInternalFrameUI {  private MetalInternalFrameTitlePane titlePane;  private static final PropertyChangeListener metalPropertyChangeListener =        new MetalPropertyChangeHandler();  private static final Border handyEmptyBorder = new EmptyBorder(0,0,0,0);    protected static String IS_PALETTE   = "JInternalFrame.isPalette";  private static String FRAME_TYPE     = "JInternalFrame.frameType";  private static String NORMAL_FRAME   = "normal";  private static String PALETTE_FRAME  = "palette";  private static String OPTION_DIALOG  = "optionDialog";  public MetalInternalFrameUI(JInternalFrame b)   {    super(b);  }  public static ComponentUI createUI(JComponent c)    {      return new MetalInternalFrameUI( (JInternalFrame) c);  }  public void installUI(JComponent c) {     super.installUI(c);    Object paletteProp = c.getClientProperty( IS_PALETTE );    if ( paletteProp != null ) {	setPalette( ((Boolean)paletteProp).booleanValue() );    }    Container content = frame.getContentPane();    stripContentBorder(content);        //c.setOpaque(false);  }    public void uninstallUI(JComponent c) {                        frame = (JInternalFrame)c;      Container cont = ((JInternalFrame)(c)).getContentPane();      if (cont instanceof JComponent) {	JComponent content = (JComponent)cont;	if ( content.getBorder() == handyEmptyBorder) {	  content.setBorder(null);	}      }      super.uninstallUI(c);  }     protected void installListeners() {        super.installListeners();        frame.addPropertyChangeListener(metalPropertyChangeListener);    }    protected void uninstallListeners() {        frame.removePropertyChangeListener(metalPropertyChangeListener);        super.uninstallListeners();    }  protected void installKeyboardActions(){      super.installKeyboardActions();      ActionMap map = SwingUtilities.getUIActionMap(frame);      if (map != null) {	  // BasicInternalFrameUI creates an action with the same name, we override	  // it as Metal frames do not have system menus.	  map.remove("showSystemMenu");      }  }  protected void uninstallKeyboardActions(){      super.uninstallKeyboardActions();  }    protected void uninstallComponents() {        titlePane = null;        super.uninstallComponents();    }  private void stripContentBorder(Object c) {        if ( c instanceof JComponent ) {            JComponent contentComp = (JComponent)c;            Border contentBorder = contentComp.getBorder();   	    if (contentBorder == null || contentBorder instanceof UIResource) {	        contentComp.setBorder( handyEmptyBorder );            }        }  }      protected JComponent createNorthPane(JInternalFrame w) {    titlePane = new MetalInternalFrameTitlePane(w);    return titlePane;  }  private void setFrameType( String frameType )  {      if ( frameType.equals( OPTION_DIALOG ) )      {          LookAndFeel.installBorder(frame, "InternalFrame.optionDialogBorder");	  titlePane.setPalette( false );      }      else if ( frameType.equals( PALETTE_FRAME ) )      {          LookAndFeel.installBorder(frame, "InternalFrame.paletteBorder");	  titlePane.setPalette( true );      }      else      {          LookAndFeel.installBorder(frame, "InternalFrame.border");	  titlePane.setPalette( false );      }  }  // this should be deprecated - jcs  public void setPalette(boolean isPalette) {    if (isPalette) {        LookAndFeel.installBorder(frame, "InternalFrame.paletteBorder");    } else {        LookAndFeel.installBorder(frame, "InternalFrame.border");    }    titlePane.setPalette(isPalette);  }  private static class MetalPropertyChangeHandler implements        PropertyChangeListener  {      public void propertyChange(PropertyChangeEvent e)      {	  String name = e.getPropertyName();          JInternalFrame jif = (JInternalFrame)e.getSource();          if (!(jif.getUI() instanceof MetalInternalFrameUI)) {              return;          }          MetalInternalFrameUI ui = (MetalInternalFrameUI)jif.getUI();	  if ( name.equals( FRAME_TYPE ) )	  {	      if ( e.getNewValue() instanceof String )	      {		  ui.setFrameType( (String) e.getNewValue() );	      }	  }	  else if ( name.equals( IS_PALETTE ) )	  {	      if ( e.getNewValue() != null )	      {	          ui.setPalette( ((Boolean)e.getNewValue()).booleanValue() );	      }	      else	      {		  ui.setPalette( false );	      }	  } else if ( name.equals( JInternalFrame.CONTENT_PANE_PROPERTY ) ) {              ui.stripContentBorder(e.getNewValue());          }      }  } // end class MetalPropertyChangeHandler}

⌨️ 快捷键说明

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