Module  javafx.controls
软件包  javafx.scene.chart

Class Axis<T>

  • All Implemented Interfaces:
    StyleableEventTarget
    已知直接子类:
    CategoryAxisValueAxis


    public abstract class Axis<T>
    extends Region
    JavaFX中所有轴的基类,表示在图表区域上绘制的轴。 它具有轴自动测距,刻度线和沿着轴的标签的属性。

    具体子类的一些示例包括NumberAxis其轴绘制数字数据和CategoryAxis其值/ tick表示其轴上的字符串类别。

    从以下版本开始:
    JavaFX 2.0
    • 构造方法详细信息

      • Axis

        public Axis​()
        创建并初始化Axis类的新实例。
    • 方法详细信息

      • getTickMarks

        public ObservableList<Axis.TickMark<T>> getTickMarks​()
        不可修改的可观察的刻度表列表,每个TickMark在此轴上直接表示一个刻度。 每当显示的标记更改时,它都会更新。
        结果
        该轴上的TickMarks的不可修改的可观察列表
      • getSide

        public final Side getSide​()
        获取属性侧的值。
        Property description:
        该轴正在绘制的曲线的一侧
      • setSide

        public final void setSide​(Side value)
        设置属性侧的值。
        Property description:
        该轴正在绘制的曲线的一侧
      • getLabel

        public final String getLabel​()
        获取属性标签的值。
        Property description:
        轴标签
      • setLabel

        public final void setLabel​(String value)
        设置属性标签的值。
        Property description:
        轴标签
      • isTickMarkVisible

        public final boolean isTickMarkVisible​()
        获取属性tickMarkVisible的值。
        Property description:
        如果显示刻度线,则为真
      • setTickMarkVisible

        public final void setTickMarkVisible​(boolean value)
        设置属性tickMarkVisible的值。
        Property description:
        如果显示刻度线,则为真
      • isTickLabelsVisible

        public final boolean isTickLabelsVisible​()
        获取属性tickLabelsVisible的值。
        Property description:
        如果显示标记标签,则为true
      • setTickLabelsVisible

        public final void setTickLabelsVisible​(boolean value)
        设置属性tickLabelsVisible的值。
        Property description:
        如果显示标记标签,则为true
      • getTickLength

        public final double getTickLength​()
        获取属性tickLength的值。
        Property description:
        刻度线的长度
      • setTickLength

        public final void setTickLength​(double value)
        设置属性tickLength的值。
        Property description:
        刻度线的长度
      • isAutoRanging

        public final boolean isAutoRanging​()
        获取属性autoRanging的值。
        Property description:
        当轴自动从数据中确定其范围时,这一点是正确的
      • setAutoRanging

        public final void setAutoRanging​(boolean value)
        设置属性autoRanging的值。
        Property description:
        当轴自动从数据中确定其范围时,这一点是正确的
      • getTickLabelFont

        public final Font getTickLabelFont​()
        获取属性tickLabelFont的值。
        Property description:
        所有刻度标签的字体
      • setTickLabelFont

        public final void setTickLabelFont​(Font value)
        设置属性tickLabelFont的值。
        Property description:
        所有刻度标签的字体
      • getTickLabelFill

        public final Paint getTickLabelFill​()
        获取属性tickLabelFill的值。
        Property description:
        填写所有刻度标签
      • setTickLabelFill

        public final void setTickLabelFill​(Paint value)
        设置属性tickLabelFill的值。
        Property description:
        填写所有刻度标签
      • getTickLabelGap

        public final double getTickLabelGap​()
        获取属性tickLabelGap的值。
        Property description:
        刻度标签和刻度线之间的差距
      • setTickLabelGap

        public final void setTickLabelGap​(double value)
        设置属性tickLabelGap的值。
        Property description:
        刻度标签和刻度线之间的差距
      • getAnimated

        public final boolean getAnimated​()
        指示轴范围的更改是否将被动画化。
        结果
        如果轴范围更改将被动画为true,否则为false
      • setAnimated

        public final void setAnimated​(boolean value)
        设置动画属性的值。
        Property description:
        当真实时,轴和其范围的任何更改将被动画化。
      • getTickLabelRotation

        public final double getTickLabelRotation​()
        获取属性tickLabelRotation的值。
        Property description:
        刻度标记以其正常水平旋转。
      • setTickLabelRotation

        public final void setTickLabelRotation​(double value)
        设置属性tickLabelRotation的值。
        Property description:
        刻度标记以其正常水平旋转。
      • isRangeValid

        protected final boolean isRangeValid​()
        查看当前范围是否有效,如果不是,则在下一个布局通过时不需要重新排列任何范围相关的计算
        结果
        如果当前范围计算有效,则为true
      • invalidateRange

        protected final void invalidateRange​()
        将当前范围标记为无效,这将导致在下一个布局上重新计算取决于范围的任何内容。
      • shouldAnimate

        protected final boolean shouldAnimate​()
        这是用来检查任何给定的动画是否应该运行。 如果启用了动画并且节点在可见的场景中,则返回true。
        结果
        如果动画应该发生,则为真
      • requestLayout

        public void requestLayout​()
        我们通过不做任何事情来抑制requestLayout()调用,因为我们不希望更改我们的孩子来导致布局。 如果您真的需要请求布局,请调用requestAxisLayout()。
        重写:
        requestLayoutParent
      • requestAxisLayout

        public void requestAxisLayout​()
        请求轴在下一个布局通过中布局。 这将替换requestLayout(),因为它已被覆盖,不执行任何操作,以便更改子对象等不会导致布局。 这是作为优化完成的,因为Axis知道真正需要布局更新的精确的最小变化集。 所以我们只想要布局,而不是任何孩子改变。
      • invalidateRange

        public void invalidateRange​(List<T> data)
        数据更改时调用,范围可能不再有效。 如果isAutoRanging()返回true,则仅由图表调用。 如果我们是自动测距,它将导致布局被请求,并且自动测距在下一个布局传递中发生。
        参数
        data - 需要在此轴上绘制的所有数据的当前集合
      • autoRange

        protected abstract Object autoRange​(double length)
        这将根据提供给invalidateRange()方法的数据计算上限和下限。 这不能影响轴的状态,改变轴的任何属性。 应在范围对象中返回自动范围的任何结果。 如果已决定为此轴采用此范围,我们将传递给setRange()。
        参数
        length - 屏幕坐标轴的长度
        结果
        范围信息,这是依赖于实现的
      • setRange

        protected abstract void setRange​(Object range,
                                         boolean animate)
        调用将当前轴范围设置为给定范围。 如果isAnimating()为true,那么此方法应将范围设置为新范围。
        参数
        range - 从autoRange()返回的范围对象
        animate - 如果真的动画范围的变化
      • getRange

        protected abstract Object getRange​()
        被称为获取当前的轴范围。
        结果
        可以传递给setRange()和calculateTickValues()的范围对象
      • getZeroPosition

        public abstract double getZeroPosition​()
        获取沿该轴的零线的显示位置。
        结果
        显示位置或Double.NaN如果零不在当前范围内;
      • getDisplayPosition

        public abstract double getDisplayPosition​(T value)
        获取给定值的沿该轴的显示位置。 如果该值不在当前范围内,返回的值将是显示位置的外推。 如果该值对该轴无效,并且轴不能在任何范围内显示此值,则返回Double.NaN
        参数
        value - 要显示的数据值显示位置
        结果
        显示位置或Double.NaN,如果值无效
      • getValueForDisplay

        public abstract T getValueForDisplay​(double displayPosition)
        获取此轴上给定显示位置的数据值。 如果轴是一个CategoryAxis,这将是最接近的值。
        参数
        displayPosition - 此轴上的像素位置
        结果
        给定像素位置的最近数据值,如果不在轴上则为null;
      • isValueOnAxis

        public abstract boolean isValueOnAxis​(T value)
        检查给定值是否在该轴上是可绘制的
        参数
        value - 检查其轴上的值
        结果
        如果给定值在此轴上是可绘制的,则为true
      • toNumericValue

        public abstract double toNumericValue​(T value)
        所有轴值必须由某些数值表示。 这将获取给定数据值的数值。
        参数
        value - 要转换的数据值
        结果
        给定数据值的数值
      • toRealValue

        public abstract T toRealValue​(double value)
        所有轴值必须由某些数值表示。 这将获取给定数值的数据值。
        参数
        value - 要转换的数值
        结果
        给定数值的数据值
      • calculateTickValues

        protected abstract List<T> calculateTickValues​(double length,
                                                       Object range)
        计算范围内每个刻度线的所有数据值的列表
        参数
        length - 显示单位中轴的长度
        range - 从autoRange()返回的范围对象
        结果
        如果是给定长度,则可以沿轴线拟合的刻度线列表
      • computePrefHeight

        protected double computePrefHeight​(double width)
        计算给定宽度的该轴的首选高度。 如果轴方向是水平方向,则考虑到刻度标记长度,刻度标签间隙和标签高度。
        重写:
        computePrefHeightRegion
        参数
        width - 如果偏好的高度取决于应该使用的宽度
        结果
        计算此轴的首选宽度
      • computePrefWidth

        protected double computePrefWidth​(double height)
        计算给定高度的该轴的首选宽度。 如果轴方向是垂直的,则考虑到刻度标记长度,刻度标签间隙和标签高度。
        重写:
        computePrefWidthRegion
        参数
        height - 如果首选宽度取决于应该使用的高度
        结果
        计算此轴的首选宽度
      • tickMarksUpdated

        protected void tickMarksUpdated​()
        如果已经更新了标记,则在布局期间调用,允许子类在反应中执行所需的任何操作。
      • layoutChildren

        protected void layoutChildren​()
        在布局传递期间调用以布局此轴及其所有内容。
        重写:
        layoutChildren中的 Parent
      • getTickMarkLabel

        protected abstract String getTickMarkLabel​(T value)
        获取具有给定值的刻度线的字符串标签名称
        参数
        value - 要格式化为刻度标签字符串的值
        结果
        给定值的格式化字符串
      • measureTickMarkLabelSize

        protected final Dimension2D measureTickMarkLabelSize​(String labelText,
                                                             double rotation)
        测量给定刻度标记值的标签尺寸。 这使用为刻度线设置的字体
        参数
        labelText - 刻度线标签文字
        rotation - 文字旋转
        结果
        给定值的刻度标签的大小
      • measureTickMarkSize

        protected final Dimension2D measureTickMarkSize​(T value,
                                                        double rotation)
        测量给定刻度标记值的标签尺寸。 这使用为刻度线设置的字体
        参数
        value - 刻度值
        rotation - 文本旋转
        结果
        给定值的刻度标签的大小
      • measureTickMarkSize

        protected Dimension2D measureTickMarkSize​(T value,
                                                  Object range)
        测量给定刻度标记值的标签尺寸。 这使用为刻度线设置的字体
        参数
        value - 刻度值
        range - 计算过程中使用的范围
        结果
        给定值的刻度标签的大小
      • getClassCssMetaData

        public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData​()
        结果
        与此类相关联的CssMetaData可能包括其类的CssMetaData。
        从以下版本开始:
        JavaFX 8.0