查看本类的 API文档即时通讯网 - 即时通讯开发者社区!
1   /*
2    * Copyright (C) 2015 Jack Jiang(cngeeker.com) The BeautyEye Project. 
3    * All rights reserved.
4    * Project URL:https://github.com/JackJiang2011/beautyeye
5    * Version 3.6
6    * 
7    * Jack Jiang PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
8    * 
9    * NinePatchBorder.java at 2015-2-1 20:25:36, original version by Jack Jiang.
10   * You can contact author with jb2011@163.com.
11   */
12  package org.jb2011.lnf.beautyeye.widget.border;
13  
14  import java.awt.Component;
15  import java.awt.Graphics;
16  import java.awt.Graphics2D;
17  import java.awt.Insets;
18  
19  import javax.swing.border.AbstractBorder;
20  
21  import org.jb2011.ninepatch4j.NinePatch;
22  
23  /**
24   * 一个利用NinePatch图实现边框的border实现类.
25   * <p>
26   * 本类可以很好地被重用于NinePatch图作为border实现的场景哦.
27   * 
28   * @author Jack Jiang(jb2011@163.com), 2012-09-04
29   * @version 1.0
30   */
31  public class NinePatchBorder extends AbstractBorder
32  {
33  	
34  	/** The insets. */
35  	private Insets insets = null;
36  	
37  	/** The np. */
38  	private NinePatch np = null;
39  	
40  	/**
41  	 * Instantiates a new nine patch border.
42  	 *
43  	 * @param insets the insets
44  	 * @param np the np
45  	 */
46  	public NinePatchBorder(Insets insets, NinePatch np)
47  	{
48  		this.insets = insets;
49  		this.np = np;
50  	}
51  	
52  	/* (non-Javadoc)
53  	 * @see javax.swing.border.AbstractBorder#getBorderInsets(java.awt.Component)
54  	 */
55  	public Insets getBorderInsets(Component c)       
56  	{
57  		return insets;
58  	}
59  
60  	/* (non-Javadoc)
61  	 * @see javax.swing.border.AbstractBorder#getBorderInsets(java.awt.Component, java.awt.Insets)
62  	 */
63  	public Insets getBorderInsets(Component c, Insets insets) 
64  	{
65  		return insets;
66  	}
67  	
68  	/* (non-Javadoc)
69  	 * @see javax.swing.border.AbstractBorder#paintBorder(java.awt.Component, java.awt.Graphics, int, int, int, int)
70  	 */
71  	public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
72  	{
73  		this.np.draw((Graphics2D)g, x, y, width, height);
74  	}
75  }