java - 如何延长 JavaFX 线或其他形状

标签 java javafx line

我想扩展JavaFX类Line,因为我希望起点和终点是一个圆或箭头或其他东西。像那样。除此之外,我想将来标记该行。 问题是如何覆盖paint方法?什么方法负责划定界限以及我必须如何实现我的愿望? 到目前为止,我明白了,但如果我 instaciate 一条线,它不会改变外观:

import javafx.scene.shape.Circle;
import javafx.scene.shape.Line;

public class LabeledLine extends Line {
    private Circle startCircle;
    private Circle endCircle;

    public LabeledLine(){
        super();
        startCircle = new Circle(getStartX(), getStartY(), 10);
        endCircle = new Circle(getEndX(), getEndY(), 10);
        startCircle.setFill(getFill());
        endCircle.setFill(getFill());
    }


    public LabeledLine(double startX, double startY, double endX, double endY){
        super(startX, startY, endX, endY);
        startCircle = new Circle(getStartX(), getStartY(), 10);
        endCircle = new Circle(getEndX(), getEndY(), 10);
        startCircle.setFill(getFill());
        endCircle.setFill(getFill());
    }

}

最佳答案

据我所知,您不应该直接扩展基本形状。而是扩展 Region 并使用组合的 Line 作为子节点。

https://github.com/aalmiray/jsilhouette使用类似的方法。属性是在“看起来像”形状但实际上并非如此的类型上设置的。

关于java - 如何延长 JavaFX 线或其他形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42673196/

相关文章:

java - 为什么我得到包 javax.crypto 不存在

java - 将 JSeparator 添加到 DefaultListModel

java - 如何在 Java 9+ 中查找类模块的名称?

检查有限线截取 C

java - 尝试将数据插入 MySQL 时出错

javafx - 以编程方式访问 slider 子结构

java - 为什么 GraphicsContext 使用带有双参数的方法?

c - 我的字符、单词、行数计数程序有什么问题?

java - 松开鼠标时线条在绘图程序中消失

Java:函数式编程中线程之间的状态共享