| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 */  | 
 | 
 | 
 | 
package javax.swing.plaf.metal;  | 
 | 
 | 
 | 
import javax.swing.*;  | 
 | 
import java.awt.Color;  | 
 | 
import java.awt.Dimension;  | 
 | 
import java.awt.Graphics;  | 
 | 
import java.awt.Insets;  | 
 | 
import java.awt.Rectangle;  | 
 | 
import javax.swing.plaf.*;  | 
 | 
import javax.swing.plaf.basic.BasicSeparatorUI;  | 
 | 
 | 
 | 
 | 
 | 
/**  | 
 | 
 * A Metal L&F implementation of SeparatorUI.  This implementation  | 
 | 
 * is a "combined" view/controller.  | 
 | 
 * <p>  | 
 | 
 * <strong>Warning:</strong>  | 
 | 
 * Serialized objects of this class will not be compatible with  | 
 | 
 * future Swing releases. The current serialization support is  | 
 | 
 * appropriate for short term storage or RMI between applications running  | 
 | 
 * the same version of Swing.  As of 1.4, support for long term storage  | 
 | 
 * of all JavaBeans™  | 
 | 
 * has been added to the <code>java.beans</code> package.  | 
 | 
 * Please see {@link java.beans.XMLEncoder}. | 
 | 
 *  | 
 | 
 * @author Jeff Shapiro  | 
 | 
 */  | 
 | 
 | 
 | 
public class MetalSeparatorUI extends BasicSeparatorUI  | 
 | 
{ | 
 | 
    public static ComponentUI createUI( JComponent c )  | 
 | 
    { | 
 | 
        return new MetalSeparatorUI();  | 
 | 
    }  | 
 | 
 | 
 | 
    protected void installDefaults( JSeparator s )  | 
 | 
    { | 
 | 
        LookAndFeel.installColors( s, "Separator.background", "Separator.foreground" );  | 
 | 
    }  | 
 | 
 | 
 | 
    public void paint( Graphics g, JComponent c )  | 
 | 
    { | 
 | 
        Dimension s = c.getSize();  | 
 | 
 | 
 | 
        if ( ((JSeparator)c).getOrientation() == JSeparator.VERTICAL )  | 
 | 
        { | 
 | 
          g.setColor( c.getForeground() );  | 
 | 
          g.drawLine( 0, 0, 0, s.height );  | 
 | 
 | 
 | 
          g.setColor( c.getBackground() );  | 
 | 
          g.drawLine( 1, 0, 1, s.height );  | 
 | 
        }  | 
 | 
        else    | 
 | 
        { | 
 | 
          g.setColor( c.getForeground() );  | 
 | 
          g.drawLine( 0, 0, s.width, 0 );  | 
 | 
 | 
 | 
          g.setColor( c.getBackground() );  | 
 | 
          g.drawLine( 0, 1, s.width, 1 );  | 
 | 
        }  | 
 | 
    }  | 
 | 
 | 
 | 
    public Dimension getPreferredSize( JComponent c )  | 
 | 
    { | 
 | 
        if ( ((JSeparator)c).getOrientation() == JSeparator.VERTICAL )  | 
 | 
            return new Dimension( 2, 0 );  | 
 | 
        else  | 
 | 
            return new Dimension( 0, 2 );  | 
 | 
    }  | 
 | 
}  |