1  import org.aswing.border.BevelBorder;
     2  import org.aswing.border.Border;
     3  import org.aswing.Component;
     4  import org.aswing.geom.Rectangle;
     5  import org.aswing.graphices.Graphics;
     6  import org.aswing.JComboBox;
     7  import org.aswing.UIManager;
     8  
     9  /**
    10   * @author iiley
    11   */
    12  class org.aswing.plaf.basic.border.ComboBoxBorder extends BevelBorder {
    13  	
    14  	private static var instance:Border;
    15  	/**
    16  	 * this make shared instance and construct when use.
    17  	 */	
    18  	public static function createInstance():Border{
    19  		if(instance == null){
    20  			instance = new ComboBoxBorder();
    21  		}
    22  		return instance;
    23  	}
    24  	
    25  	public function ComboBoxBorder() {
    26  		super(null,
    27  			LOWERED,
    28  			UIManager.getColor("ComboBox.light"), 
    29              UIManager.getColor("ComboBox.highlight"), 
    30              UIManager.getColor("ComboBox.darkShadow"), 
    31              UIManager.getColor("ComboBox.shadow"));
    32  	}
    33  	
    34      public function paintBorderImp(c:Component, g:Graphics, b:Rectangle):Void{
    35      	var box:JComboBox = JComboBox(c);
    36      	if(box.isEditable()){
    37      		bevelType = LOWERED;
    38      	}else{
    39      		bevelType = RAISED;
    40      	}
    41         	super.paintBorderImp(c, g, b);
    42      }
    43  }