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

📄 metalborders.java

📁 Mobile 应用程序使用 Java Micro Edition (Java ME) 平台
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        public void paintBorder( Component c, Graphics g, int x, int y, int w, int h ) {            AbstractButton b = (AbstractButton) c;            ButtonModel model = b.getModel();            if ( model.isRollover() && !( model.isPressed() && !model.isArmed() ) ) {	        super.paintBorder( c, g, x, y, w, h );            }        }    }    /**     * A border which is like a Margin border but it will only honor the margin     * if the margin has been explicitly set by the developer.     *      * Note: This is identical to the package private class     * BasicBorders.RolloverMarginBorder and should probably be consolidated.     */    static class RolloverMarginBorder extends EmptyBorder {		public RolloverMarginBorder() {	    super(3,3,3,3); // hardcoded margin for JLF requirements.	}	public Insets getBorderInsets(Component c) {	    return getBorderInsets(c, new Insets(0,0,0,0));	}	public Insets getBorderInsets(Component c, Insets insets) {	    Insets margin = null;	    if (c instanceof AbstractButton) {		margin = ((AbstractButton)c).getMargin();	    }	    if (margin == null || margin instanceof UIResource) {		// default margin so replace		insets.left = left;		insets.top = top;		insets.right = right;		insets.bottom = bottom;	    } else {		// Margin which has been explicitly set by the user.		insets.left = margin.left;		insets.top = margin.top;		insets.right = margin.right;		insets.bottom = margin.bottom;	    }	    return insets;	}    }    public static class ToolBarBorder extends AbstractBorder implements UIResource, SwingConstants    {        protected MetalBumps bumps = new MetalBumps( 10, 10,				      MetalLookAndFeel.getControlHighlight(),				      MetalLookAndFeel.getControlDarkShadow(),                                     UIManager.getColor("ToolBar.background"));        public void paintBorder( Component c, Graphics g, int x, int y, int w, int h )	{	    g.translate( x, y );	    if ( ((JToolBar) c).isFloatable() )	    {	        if ( ((JToolBar) c).getOrientation() == HORIZONTAL )		{                    int shift = MetalLookAndFeel.usingOcean() ? -1 : 0;		    bumps.setBumpArea( 10, h - 4 );                    if( MetalUtils.isLeftToRight(c) ) {                        bumps.paintIcon( c, g, 2, 2 + shift );                    } else {                        bumps.paintIcon( c, g, w-12,                                         2 + shift );                    }	        }		else // vertical		{		    bumps.setBumpArea( w - 4, 10 );		    bumps.paintIcon( c, g, 2, 2 );	        }	    }            if (((JToolBar) c).getOrientation() == HORIZONTAL &&                                MetalLookAndFeel.usingOcean()) {                g.setColor(MetalLookAndFeel.getControl());                g.drawLine(0, h - 2, w, h - 2);                g.setColor(UIManager.getColor("ToolBar.borderColor"));                g.drawLine(0, h - 1, w, h - 1);            }	    g.translate( -x, -y );        }        public Insets getBorderInsets( Component c ) {	    return getBorderInsets(c, new Insets(0,0,0,0));	}	public Insets getBorderInsets(Component c, Insets newInsets) {            if (MetalLookAndFeel.usingOcean()) {                newInsets.set(1, 2, 3, 2);            }            else {                newInsets.top = newInsets.left = newInsets.bottom = newInsets.right = 2;            }	    if ( ((JToolBar) c).isFloatable() ) {	        if ( ((JToolBar) c).getOrientation() == HORIZONTAL ) {		    if (c.getComponentOrientation().isLeftToRight()) {	        	newInsets.left = 16;		    } else {	        	newInsets.right = 16;		    }	        } else {// vertical		    newInsets.top = 16;	        }	    }	    Insets margin = ((JToolBar) c).getMargin();	    if ( margin != null ) {	        newInsets.left   += margin.left;	        newInsets.top    += margin.top;	        newInsets.right  += margin.right;	        newInsets.bottom += margin.bottom;	    }            return newInsets;        }    }    private static Border buttonBorder;    /**     * Returns a border instance for a JButton     * @since 1.3     */    public static Border getButtonBorder() {	if (buttonBorder == null) {	    buttonBorder = new BorderUIResource.CompoundBorderUIResource(						   new MetalBorders.ButtonBorder(),						   new BasicBorders.MarginBorder());	}	return buttonBorder;    }    private static Border textBorder;    /**     * Returns a border instance for a text component     * @since 1.3     */    public static Border getTextBorder() {	if (textBorder == null) {	    textBorder = new BorderUIResource.CompoundBorderUIResource(						   new MetalBorders.Flush3DBorder(),						   new BasicBorders.MarginBorder());	}	return textBorder;    }    private static Border textFieldBorder;    /**     * Returns a border instance for a JTextField     * @since 1.3     */    public static Border getTextFieldBorder() {	if (textFieldBorder == null) {	    textFieldBorder = new BorderUIResource.CompoundBorderUIResource(						   new MetalBorders.TextFieldBorder(),						   new BasicBorders.MarginBorder());	}	return textFieldBorder;    }    public static class TextFieldBorder extends Flush3DBorder {        public void paintBorder(Component c, Graphics g, int x, int y,				int w, int h) {	  if (!(c instanceof JTextComponent)) {	        // special case for non-text components (bug ID 4144840)	        if (c.isEnabled()) {		    MetalUtils.drawFlush3DBorder(g, x, y, w, h);		} else {		    MetalUtils.drawDisabledBorder(g, x, y, w, h);		}		return;	    }	    if (c.isEnabled() && ((JTextComponent)c).isEditable()) {	        MetalUtils.drawFlush3DBorder(g, x, y, w, h);	    } else {	        MetalUtils.drawDisabledBorder(g, x, y, w, h);	    }	}    }    public static class ScrollPaneBorder extends AbstractBorder implements UIResource {       private static final Insets insets = new Insets(1, 1, 2, 2);        public void paintBorder(Component c, Graphics g, int x, int y,			  int w, int h) {            JScrollPane scroll = (JScrollPane)c;            JComponent colHeader = scroll.getColumnHeader();            int colHeaderHeight = 0;            if (colHeader != null)               colHeaderHeight = colHeader.getHeight();            JComponent rowHeader = scroll.getRowHeader();            int rowHeaderWidth = 0;            if (rowHeader != null)               rowHeaderWidth = rowHeader.getWidth();            g.translate( x, y);            g.setColor( MetalLookAndFeel.getControlDarkShadow() );            g.drawRect( 0, 0, w-2, h-2 );            g.setColor( MetalLookAndFeel.getControlHighlight() );            g.drawLine( w-1, 1, w-1, h-1);            g.drawLine( 1, h-1, w-1, h-1);            g.setColor( MetalLookAndFeel.getControl() );            g.drawLine( w-2, 2+colHeaderHeight, w-2, 2+colHeaderHeight );            g.drawLine( 1+rowHeaderWidth, h-2, 1+rowHeaderWidth, h-2 );            g.translate( -x, -y);        }        public Insets getBorderInsets(Component c)       {            return insets;        }    }    private static Border toggleButtonBorder;    /**     * Returns a border instance for a JToggleButton     * @since 1.3     */    public static Border getToggleButtonBorder() {	if (toggleButtonBorder == null) {	    toggleButtonBorder = new BorderUIResource.CompoundBorderUIResource(						   new MetalBorders.ToggleButtonBorder(),						   new BasicBorders.MarginBorder());	}	return toggleButtonBorder;    }    /**     * @since 1.3     */    public static class ToggleButtonBorder extends ButtonBorder {        public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) {	    AbstractButton button = (AbstractButton)c;	    ButtonModel model = button.getModel();            if (MetalLookAndFeel.usingOcean()) {                if(model.isArmed() || !button.isEnabled()) {                    super.paintBorder(c, g, x, y, w, h);                }                else {                 g.setColor(MetalLookAndFeel.getControlDarkShadow());                  g.drawRect(0, 0, w - 1, h - 1);                             }            return;        }	    if (! c.isEnabled() ) {	        MetalUtils.drawDisabledBorder( g, x, y, w-1, h-1 );	    } else {	        if ( model.isPressed() && model.isArmed() ) {                   MetalUtils.drawPressed3DBorder( g, x, y, w, h );		} else if ( model.isSelected() ) {		    MetalUtils.drawDark3DBorder( g, x, y, w, h );                } else {		    MetalUtils.drawFlush3DBorder( g, x, y, w, h );                }	    }	}    }    /**     * Border for a Table Header     * @since 1.3     */    public static class TableHeaderBorder extends javax.swing.border.AbstractBorder {        protected Insets editorBorderInsets = new Insets( 2, 2, 2, 0 );        public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) {	    g.translate( x, y );	    	    g.setColor( MetalLookAndFeel.getControlDarkShadow() );	    g.drawLine( w-1, 0, w-1, h-1 );	    g.drawLine( 1, h-1, w-1, h-1 );	    g.setColor( MetalLookAndFeel.getControlHighlight() );	    g.drawLine( 0, 0, w-2, 0 );	    g.drawLine( 0, 0, 0, h-2 );	    g.translate( -x, -y );	}        public Insets getBorderInsets( Component c ) {	    return editorBorderInsets;	}    }    /**     * Returns a border instance for a Desktop Icon     * @since 1.3     */    public static Border getDesktopIconBorder() {	return new BorderUIResource.CompoundBorderUIResource(                                          new LineBorder(MetalLookAndFeel.getControlDarkShadow(), 1),                                          new MatteBorder (2,2,1,2, MetalLookAndFeel.getControl()));    }    static Border getToolBarRolloverBorder() {        if (MetalLookAndFeel.usingOcean()) {            return new CompoundBorder(                new MetalBorders.ButtonBorder(),                 new MetalBorders.RolloverMarginBorder());        }	return new CompoundBorder(new MetalBorders.RolloverButtonBorder(), 				  new MetalBorders.RolloverMarginBorder());    }    static Border getToolBarNonrolloverBorder() {        if (MetalLookAndFeel.usingOcean()) {            new CompoundBorder(                new MetalBorders.ButtonBorder(),                 new MetalBorders.RolloverMarginBorder());        }	return new CompoundBorder(new MetalBorders.ButtonBorder(),				  new MetalBorders.RolloverMarginBorder());    }}

⌨️ 快捷键说明

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