Module  javafx.controls

Class TextFieldSkin

    • 构造方法详细信息

      • TextFieldSkin

        public TextFieldSkin​(TextField control)
        创建一个新的TextFieldSkin实例,将必需的子节点安装到控件 children列表中,以及处理键,鼠标等事件的必要输入映射。
        参数
        control - 这个皮肤应该安装到的控件。
    • 方法详细信息

      • computePrefWidth

        protected double computePrefWidth​(double height,
                                          double topInset,
                                          double rightInset,
                                          double bottomInset,
                                          double leftInset)
        计算SkinBase的首选宽度。 默认实现将这个宽度计算为被管理子对象以其首选宽度位于其当前位置时占用的区域的宽度。
        重写:
        computePrefWidthSkinBase<TextField>
        参数
        height - 如果首选宽度取决于应该使用的高度
        topInset - 像素拍摄的顶部插图
        rightInset - 像素拍摄正确的插图
        bottomInset - 像素攫取底部插图
        leftInset - 像素拍摄左边插图
        结果
        计算的优选宽度
      • computeMinHeight

        protected double computeMinHeight​(double width,
                                          double topInset,
                                          double rightInset,
                                          double bottomInset,
                                          double leftInset)
        根据提供的宽度计算皮肤的最小允许高度。
        重写:
        computeMinHeightSkinBase<TextField>
        参数
        width - 皮肤的宽度,以防该值可能决定最小高度。
        topInset - 像素拍摄的顶部插图
        rightInset - 像素拍摄正确的插图
        bottomInset - 像素啪嗒的底部插入
        leftInset - 像素拍摄左边插图
        结果
        一个双倍代表这个皮肤的最小高度。
      • computePrefHeight

        protected double computePrefHeight​(double width,
                                           double topInset,
                                           double rightInset,
                                           double bottomInset,
                                           double leftInset)
        计算这个SkinBase的首选高度。 默认实现将此高度计算为被管理儿童以其首选高度位于其当前位置时占用的区域的高度。
        重写:
        computePrefHeightSkinBase<TextField>
        参数
        width - 如果首选高度取决于应该使用的宽度
        topInset - 像素拍摄顶部插图
        rightInset - 像素拍摄正确的插图
        bottomInset - 像素攫取底部插图
        leftInset - 像素拍摄左边插图
        结果
        计算的优选高度
      • computeMaxHeight

        protected double computeMaxHeight​(double width,
                                          double topInset,
                                          double rightInset,
                                          double bottomInset,
                                          double leftInset)
        根据提供的宽度计算皮肤的最大允许高度。
        重写:
        computeMaxHeightSkinBase<TextField>
        参数
        width - 皮肤的宽度,以防该值可能决定最大高度。
        topInset - 像素拍摄的顶部插图
        rightInset - 像素拍摄正确的插图
        bottomInset - 像素啪嗒的底部插入
        leftInset - 像素拍摄左边插图
        结果
        一个双倍代表这个皮肤的最大高度。
      • computeBaselineOffset

        public double computeBaselineOffset​(double topInset,
                                            double rightInset,
                                            double bottomInset,
                                            double leftInset)
        基于第一个受管理的子节点计算基线偏移量。 如果没有这样的孩子,返回Node.getBaselineOffset()
        重写:
        computeBaselineOffsetSkinBase<TextField>
        参数
        topInset - 像素拍摄的顶部插图
        rightInset - 像素拍摄正确的插图
        bottomInset - 像素啪嗒的底部插入
        leftInset - 像素拍摄左边插图
        结果
        基线偏移
      • replaceText

        public void replaceText​(int start,
                                int end,
                                String txt)
        用给定的文本替换一系列的字符。 从行为类调用此实现,而不是TextInputControl提供的实现,以确保文本根据需要滚动。
        参数
        start - 范围内的起始索引(含)。 这必须是> = 0和<结束。
        end - 范围内的结束索引,独占。 这是一个删除的最后一个字符(与String操作方法一致)。 这必须>开始,而<=文本的长度。
        txt - 要替换范围的文本。 这不能为空。
        另请参见:
        TextInputControl.replaceText(int, int, String)
      • deleteChar

        public void deleteChar​(boolean previous)
        如果没有选择,则从文本中删除当前插入符号位置之后或之前的字符,如果有选择则删除选择。 从行为类调用此实现,而不是TextInputControl提供的实现,以确保文本根据需要滚动。
        参数
        previous - 是否删除前一个字符。
      • getIndex

        public HitInfo getIndex​(double x,
                                double y)
        执行命中测试,映射到内容中的索引。
        参数
        x - 点的x坐标。
        y - 点的y坐标。
        结果
        描述索引和正向偏差的 HitInfo对象。
      • positionCaret

        public void positionCaret​(HitInfo hit,
                                  boolean select)
        将插入符号移动到指定的位置。
        参数
        hit - 插入符号的新位置和向前偏移。
        select - 是否将选择扩展到新的位置。
      • layoutChildren

        protected void layoutChildren​(double x,
                                      double y,
                                      double w,
                                      double h)
        在场景图的布局过程中调用。
        重写:
        layoutChildrenSkinBase<TextField>
        参数
        x - x位置
        y - y位置
        w - 宽度
        h - 高度
      • getMenuPosition

        public Point2D getMenuPosition​()
        根据插入符句柄或选择句柄的位置返回用于上下文菜单的位置。 这仅在触摸显示器上支持,并且不使用鼠标的位置。
        重写:
        getMenuPositionTextInputControlSkin<TextField>
        结果
        用于此上下文菜单的位置
      • maskText

        protected String maskText​(String txt)
        子类可以覆盖此方法来替换显示的字符而不影响实际的文本内容。 这用于在PasswordField中显示项目符号。
        重写:
        maskTextTextInputControlSkin<TextField>
        参数
        txt - 可能需要屏蔽的内容。
        结果
        替换字符串。 这可能只是输入字符串,也可以是与输入字符串长度相同的替换字符串。