Module  java.desktop

Class MetalTreeUI



  • public class MetalTreeUI
    extends BasicTreeUI
    金属外观实现TreeUI

    MetalTreeUI允许配置如何直观地渲染节点之间的间距和描述。 支持以下提示:

    Descriptions of supported hints: Angled, Horizontal, and None Angled A line is drawn connecting the child to the parent. For handling of the root node refer to JTree.setRootVisible(boolean) and JTree.setShowsRootHandles(boolean). Horizontal A horizontal line is drawn dividing the children of the root node. None Do not draw any visual indication between nodes.

    由于它一般是不切实际获得TreeUIJTree并浇铸成的实例MetalTreeUI启用通过客户端属性这个属性JTree.lineStyle 例如,要切换到Horizontal样式,您可以执行以下操作: tree.putClientProperty("JTree.lineStyle", "Horizontal");

    默认值为Angled

    • 构造方法详细信息

      • MetalTreeUI

        public MetalTreeUI​()
        构造 MetalTreeUI
    • 方法详细信息

      • createUI

        public static ComponentUI createUI​(JComponent x)
        构造 MetalTreeUI
        参数
        x - 一个组件
        结果
        的例子是 MetalTreeUI
      • getHorizontalLegBuffer

        protected int getHorizontalLegBuffer​()
        说明从类别复制: BasicTreeUI
        默认情况下,节点之间的腿的水平元素从子节点左侧的右侧开始。 这种方法使腿之前结束。
        重写:
        getHorizontalLegBufferBasicTreeUI
        结果
        水平腿缓冲
      • installUI

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

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

        protected void decodeLineStyle​(Object lineStyleFlag)
        传递给客户端属性的字符串和内部表示(当前和int)之间的转换
        参数
        lineStyleFlag - 一个国旗
      • isLocationInExpandControl

        protected boolean isLocationInExpandControl​(int row,
                                                    int rowLevel,
                                                    int mouseX,
                                                    int mouseY)
        如果具有X坐标 mouseX和Y坐标 mouseY点处于扩展控制中,则返回 true
        参数
        row - 一排
        rowLevel - 行级别
        mouseX - X坐标
        mouseY - Y坐标
        结果
        true如果与X坐标的点 mouseX和Y坐标 mouseY是在扩展的控制。
      • paint

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

        protected void paintHorizontalSeparators​(Graphics g,
                                                 JComponent c)
        绘制水平分隔符。
        参数
        g -实例 Graphics
        c - 一个组件
      • paintVerticalPartOfLeg

        protected void paintVerticalPartOfLeg​(Graphics g,
                                              Rectangle clipBounds,
                                              Insets insets,
                                              TreePath path)
        描述从类复制: BasicTreeUI
        涂上腿部的垂直部分。 该接收器不应修改clipBoundsinsets
        重写:
        paintVerticalPartOfLegBasicTreeUI
        参数
        g - 图形上下文
        clipBounds - 一个剪切的矩形
        insets - 插图
        path - 树路径
      • paintHorizontalPartOfLeg

        protected void paintHorizontalPartOfLeg​(Graphics g,
                                                Rectangle clipBounds,
                                                Insets insets,
                                                Rectangle bounds,
                                                TreePath path,
                                                int row,
                                                boolean isExpanded,
                                                boolean hasBeenExpanded,
                                                boolean isLeaf)
        描述从类复制: BasicTreeUI
        涂抹腿部的水平部分。 接收方不应修改clipBoundsinsets

        注意:如果根目录不可见,则parentRow可以为-1。

        重写:
        paintHorizontalPartOfLegBasicTreeUI
        参数
        g - 图形上下文
        clipBounds - 一个剪切的矩形
        insets - 插图
        bounds - 一个边界矩形
        path - 树路径
        row - 一排
        isExpanded - true如果路径被扩展
        hasBeenExpanded - true如果路径已被扩展
        isLeaf - true如果路径是叶