JavaTM 2 Platform
Standard Ed. 5.0

javax.swing.border
类 CompoundBorder

java.lang.Object
  继承者 javax.swing.border.AbstractBorder
      继承者 javax.swing.border.CompoundBorder
所有已实现的接口:
Serializable, Border
直接已知子类:
BorderUIResource.CompoundBorderUIResource

public class CompoundBorder
extends AbstractBorder

一个复合 Border 类,通过将内部 Border 对象嵌套到外部 Border 对象的 insets 中实现将两个 Border 对象合并为一个单个边框。例如,此类可使用现有的装饰边框向组件添加空白边缘区域:

    Border border = comp.getBorder();
    Border margin = new EmptyBorder(10,10,10,10);
    comp.setBorder(new CompoundBorder(border, margin));
 

警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder


字段摘要
protected  Border insideBorder
           
protected  Border outsideBorder
           
 
构造方法摘要
CompoundBorder()
          创建一个组合边框,其内部边框和外部边框均为 null。
CompoundBorder(Border outsideBorder, Border insideBorder)
          按照指定的内部边框和外部边框创建组合边框。
 
方法摘要
 Insets getBorderInsets(Component c)
          返回复合边框的 insets,它是外部边框的 insets 与内部边框的 insets 相加所得的结果。
 Insets getBorderInsets(Component c, Insets insets)
          用此边框的当前 Insets 重新初始化 insets 参数。
 Border getInsideBorder()
          返回内部边框对象。
 Border getOutsideBorder()
          返回外部边框对象。
 boolean isBorderOpaque()
          返回此组合边框是否透明。
 void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
          绘制组合边框,方法是先按指定的位置和尺寸绘制外部边框,然后按照外部边框 insets 指定的位置和尺寸偏移量绘制内部边框。
 
从类 javax.swing.border.AbstractBorder 继承的方法
getInteriorRectangle, getInteriorRectangle
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

outsideBorder

protected Border outsideBorder

insideBorder

protected Border insideBorder
构造方法详细信息

CompoundBorder

public CompoundBorder()
创建一个组合边框,其内部边框和外部边框均为 null。


CompoundBorder

public CompoundBorder(Border outsideBorder,
                      Border insideBorder)
按照指定的内部边框和外部边框创建组合边框。其内部边框和外部边框都可以为 null。

参数:
outsideBorder - 外部边框
insideBorder - 要嵌套的内部边框
方法详细信息

isBorderOpaque

public boolean isBorderOpaque()
返回此组合边框是否透明。如果内部边框和外部边框均不为 null 且均不透明,则返回 true;否则返回 false。

指定者:
接口 Border 中的 isBorderOpaque
覆盖:
AbstractBorder 中的 isBorderOpaque
返回:
false

paintBorder

public void paintBorder(Component c,
                        Graphics g,
                        int x,
                        int y,
                        int width,
                        int height)
绘制组合边框,方法是先按指定的位置和尺寸绘制外部边框,然后按照外部边框 insets 指定的位置和尺寸偏移量绘制内部边框。

指定者:
接口 Border 中的 paintBorder
覆盖:
AbstractBorder 中的 paintBorder
参数:
c - 要为其绘制边框的组件
g - 绘制的图形
x - 所绘制边框的 x 坐标位置
y - 所绘制边框的 y 坐标位置
width - 所绘制边框的宽度
height - 所绘制边框的高度

getBorderInsets

public Insets getBorderInsets(Component c,
                              Insets insets)
用此边框的当前 Insets 重新初始化 insets 参数。

覆盖:
AbstractBorder 中的 getBorderInsets
参数:
c - 应用此边框 insets 值的组件
insets - 要重新初始化的对象
返回:
insets 对象

getBorderInsets

public Insets getBorderInsets(Component c)
返回复合边框的 insets,它是外部边框的 insets 与内部边框的 insets 相加所得的结果。

指定者:
接口 Border 中的 getBorderInsets
覆盖:
AbstractBorder 中的 getBorderInsets
参数:
c - 要应用此边框 insets 值的组件
返回:
已初始化为 0 的新 Insets 对象

getOutsideBorder

public Border getOutsideBorder()
返回外部边框对象。


getInsideBorder

public Border getInsideBorder()
返回内部边框对象。


JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策