Module  java.desktop
软件包  javax.swing.plaf

Class ComponentUI

    • 构造方法详细信息

      • ComponentUI

        public ComponentUI​()
        唯一的构造函数。 (用于子类构造函数的调用,通常是隐式的。)
    • 方法详细信息

      • installUI

        public void installUI​(JComponent c)
        适当地配置指定的组件的外观和感觉。 当正在安装ComponentUI实例作为指定组件上的UI委托时,将调用此方法。 该方法应该完全配置组件的外观,包括以下内容:
        1. 为组件上的颜色,字体,边框,图标,不透明度等安装默认属性值。 只要有可能,由客户端程序初始化的属性值应该被重写。
        2. 如有必要,请在组件上安装LayoutManager
        3. 创建/添加任何所需的子组件到组件。
        4. 在组件上创建/安装事件监听器。
        5. 在组件上创建/安装PropertyChangeListener ,以便适当地检测和响应组件属性的更改。
        6. 在组件上安装键盘UI(助记符,遍历等)。
        7. 初始化任何适当的实例数据。
        参数
        c - 正在安装此UI c的组件
        另请参见:
        uninstallUI(javax.swing.JComponent)JComponent.setUI(javax.swing.plaf.ComponentUI)JComponent.updateUI()
      • uninstallUI

        public void uninstallUI​(JComponent c)
        installUI反转在指定组件上完成的配置。 当该UIComponent实例作为指定组件的UI委托被删除时,将调用此方法。 该方法应该撤消在installUI执行的配置,注意将JComponent实例保持在干净的状态(没有无关的侦听器,特定于外观的属性对象等)。 这应该包括以下内容:
        1. 从组件中删除任何UI集边框。
        2. 删除组件上的任何UI集布局管理器。
        3. 从组件中删除任何添加了UI的子组件。
        4. 从组件中删除任何UI添加的事件/属性侦听器。
        5. 从组件中删除任何UI安装的键盘UI。
        6. 对任何分配的实例数据对象进行空白以允许GC。
        参数
        c - 从中删除此UI c的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用
        另请参见:
        installUI(javax.swing.JComponent)JComponent.updateUI()
      • paint

        public void paint​(Graphics g,
                          JComponent c)
        适当地涂抹指定的组件的外观和感觉。 当正在绘制指定的组件时,将从ComponentUI.update方法调用此方法。 子类应该覆盖此方法,并使用指定的Graphics对象来呈现组件的内容。
        参数
        g - 要绘画的 Graphics上下文
        c - 正在涂漆的部件 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用
        另请参见:
        update(java.awt.Graphics, javax.swing.JComponent)
      • update

        public void update​(Graphics g,
                           JComponent c)
        通知这个UI委托是时候绘制指定的组件。 当指定的组件正在绘制时,此方法由JComponent调用。

        默认情况下,如果该方法的opaque属性为true ,则该方法将使用其背景颜色填充指定的组件,然后立即调用paint 通常这个方法不需要被子类覆盖; 所有外观和渲染代码应位于paint方法中。

        参数
        g - 要绘制的 Graphics上下文
        c - 正在涂漆的部件 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用
        另请参见:
        paint(java.awt.Graphics, javax.swing.JComponent)JComponent.paintComponent(java.awt.Graphics)
      • getPreferredSize

        public Dimension getPreferredSize​(JComponent c)
        返回指定组件的偏好大小,适合外观和感觉。 如果返回null ,则首选大小将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。 此方法的默认实现返回null
        参数
        c - 要查询其首选大小的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用
        结果
        一个 Dimension对象,包含给定组件的首选大小,适合外观和感觉
        另请参见:
        JComponent.getPreferredSize()LayoutManager.preferredLayoutSize(java.awt.Container)
      • getMaximumSize

        public Dimension getMaximumSize​(JComponent c)
        返回指定组件的最大尺寸,适合外观和感觉。 如果返回null ,则最大大小将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。 此方法的默认实现将调用getPreferredSize并返回该值。
        参数
        c - 查询最大大小的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用
        结果
        一个 Dimension对象或 null
        另请参见:
        JComponent.getMaximumSize()LayoutManager2.maximumLayoutSize(java.awt.Container)
      • contains

        public boolean contains​(JComponent c,
                                int x,
                                int y)
        如果指定的x,y位置包含在指定组件的外观和定义的形状内则返回true xy被定义为相对于指定部件的坐标系。 虽然组件的bounds被限制为一个矩形,但是该方法提供了用于定义用于命中检测的边界内的非矩形形状的方法。
        参数
        c - 正在查询x,y位置的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用
        x - 点的 x坐标
        y - 点的 y坐标
        结果
        true如果指定的 x,y位置包含在给定组件的外观和定义的形状内
        另请参见:
        JComponent.contains(int, int)Component.contains(int, int)
      • createUI

        public static ComponentUI createUI​(JComponent c)
        返回指定组件的UI委托的实例。 每个子类都必须提供自己的静态createUI方法,该方法返回该UI委托子类的一个实例。 如果UI委托子类是无状态的,则它可能返回由多个组件共享的实例。 如果UI代理是有状态的,那么它应该返回一个新的实例每个组件。 此方法的默认实现会引发错误,因为它不应该被调用。
        参数
        c - 一个用于创建UI代表的 JComponent
        结果
        一个 ComponentUI对象为 c
      • getBaseline

        public int getBaseline​(JComponent c,
                               int width,
                               int height)
        返回基线。 基线是从组件的顶部测量的。 该方法主要用于LayoutManager以使组件沿其基线对齐。 返回值小于0表示此组件没有合理的基线,并且LayoutManager不应该将该组件对准其基线。

        此方法返回-1。 具有有意义的基准的子类应适当地覆盖。

        参数
        c - JComponent正在请求基准
        width - 获取基准的宽度
        height - 获取基准的高度
        结果
        基线或值<0表示没有合理的基线
        异常
        NullPointerException - 如果 cnull
        IllegalArgumentException - 如果宽度或高度<0
        从以下版本开始:
        1.6
        另请参见:
        JComponent.getBaseline(int,int)
      • getBaselineResizeBehavior

        public Component.BaselineResizeBehavior getBaselineResizeBehavior​(JComponent c)
        返回一个枚举,指示组件的基线如何随着大小的变化而改变。 此方法主要用于布局管理器和GUI构建器。

        此方法返回BaselineResizeBehavior.OTHER 支持基准的子类应适当地覆盖。

        参数
        c - JComponent返回基准调整大小行为
        结果
        一个枚举,指示基准随着组件大小的变化而改变
        异常
        NullPointerException - 如果 cnull
        从以下版本开始:
        1.6
        另请参见:
        JComponent.getBaseline(int, int)
      • getAccessibleChildrenCount

        public int getAccessibleChildrenCount​(JComponent c)
        返回对象中可访问的子项数。 如果此对象的所有子项都执行Accessible ,则此方法应返回此对象的子项数。 UI可能希望覆盖这一点,如果它们显示屏幕上可以被视为组件的区域,但实际组件不用于呈现这些区域。 注意:从v1.3开始,建议开发人员调用Component.AccessibleAWTComponent.getAccessibleChildrenCount()而不是这种方法。
        参数
        c - JComponent为了获得可访问的孩子的数量
        结果
        对象中可访问的孩子的数量
        另请参见:
        getAccessibleChild(javax.swing.JComponent, int)
      • getAccessibleChild

        public Accessible getAccessibleChild​(JComponent c,
                                             int i)
        返回对象的iAccessible个子对象。 如果屏幕上显示可以被视为组件的区域,UI可能需要重写,但实际组件不用于显示这些区域。

        注意:从v1.3开始,建议开发者调用Component.AccessibleAWTComponent.getAccessibleChild()而不是这种方法。

        参数
        c - 一个 JComponent为其获取一个子对象
        i - 基于零的儿童索引
        结果
        对象的 iAccessible小孩
        另请参见:
        getAccessibleChildrenCount(javax.swing.JComponent)