JavaFX 两个圆之间的距离并不断更新属性

2023-12-24

为了进行作业,我创建了 2 个可拖动的圆圈,并使用 javaFX 将它们连接起来。

我需要添加计算两个圆之间的距离(或线的长度)的文本,并且当我拖动圆时该文本需要不断更新,但这就是我陷入困境的地方

    Circle circle1 = new Circle();
    circle1.setCenterX(40);
    circle1.setCenterY(40);
    circle1.setRadius(10);
    Circle circle2 = new Circle();
    circle2.setCenterX(120);
    circle2.setCenterY(150);
    circle2.setRadius(10);
    Line line = new Line ();

    line.startXProperty().bind(circle1.centerXProperty());
    line.startYProperty().bind(circle1.centerYProperty());
    line.endXProperty().bind(circle2.centerXProperty());
    line.endYProperty().bind(circle2.centerYProperty());

    circle1.setOnMousePressed(mousePressEventHandler);
    circle1.setOnMouseDragged(mouseDragEventHandler);
    circle2.setOnMousePressed(mousePressEventHandler);
    circle2.setOnMouseDragged(mouseDragEventHandler);

这是我的两个圆和线,我尝试过

 Text distance = new Text();
 distance.textProperty().bind(circle1.centerXProperty()-circle2.centerXProperty() . . .);

但是,正如您所知,我无法正常计算财产价值,而且我不知道该怎么做。


您可以创建一个 DoubleProperty

DoubleProperty distanceProperty = new SimpleDoubleProperty();

和一个 ChangeListener,您可以在其中计算距离

ChangeListener<Number> changeListener = (observable, oldValue, newValue) -> {

  Point2D p1 = new Point2D(circle1.getCenterX(), circle1.getCenterY());
  Point2D p2 = new Point2D(circle2.getCenterX(), circle2.getCenterY());
  distanceProperty.set(p1.distance(p2));

};

指定监听者

circle1.centerXProperty().addListener( changeListener);
circle1.centerYProperty().addListener( changeListener);
circle2.centerXProperty().addListener( changeListener);
circle2.centerYProperty().addListener( changeListener);

并将 distanceProperty 绑定到文本

Text text = new Text();
text.textProperty().bind(distanceProperty.asString());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaFX 两个圆之间的距离并不断更新属性 的相关文章

  • TinyMCE:如何禁用代码重写?

    我试图阻止 TinyMCE 在 Joomla 中 重写代码 添加 删除 移动标签和属性等 我不想设置每个标签 只需阻止 TinyMCE 更改我的代码即可 TinyMCE配置 verify html false 对我来说不起作用 切换到源代码
  • 如何测试 UITextField 是否为零?

    我正在尝试制作我的应用程序的一部分 如果该人不更改我的 UITextField 中的空白文本 那么他 她将无法继续下一步 基本上 我想测试 UITextField 的 nil 文本 我已经使用了 if text 方法 但是如果用户单击 UI
  • 如何在 Eclipse Java 动态 Web 项目中使用 .properties 文件?

    我正在 Eclipse 中开发动态 Web 项目 我创建了一个 properties 文件来存储数据库详细信息 用户名 密码等 我通过右键单击项目和 New gt File 添加它 我使用了Java util包Properties类 但它不
  • 如何将一个控件的属性绑定到另一个控件的属性?

    我希望当表单被禁用时 表单中的 保存 按钮消失 我这样做 this formStackPanel IsEnabled someValue if this formStackPanel IsEnabled this saveButton Vi
  • Java NoSuchMethodException - 类中确实存在方法

    我正在构建一个 JavaFx 应用程序 我想创建一个接收 GridPane 和 Node 以及添加到窗格中的项目数量的方法 但是 当我调用该方法时 我收到 NoSuchMethodException 作为测试 我尝试创建一个简单的方法pri
  • 如何从具有重复条目的过滤列表中删除特定索引?

    我有一个TableView由一个支持SortedList包裹一个FilteredList包裹一个ObservableList 过滤列表中的项目可以重复 也就是说 有可能是这样的情况list get 5 list get 10 用户可以选择行
  • 从 MS Access 中提取 OLE 对象(Word 文档)

    我有一个 Microsoft Access 数据库 其中包含一个包含 Microsoft Word 文档的 OLE 对象字段 我试图找到代码来检索保存在 OLE 对象中的文件 以便用户可以从我的 JavaFx 应用程序中的按钮下载它 但没有
  • 测量以指定宽度包裹的文本高度

    如何计算渲染以指定宽度包裹的文本所需的高度 我在中找到了以下方法Graphics graphicsObj MeasureString text font width 但它需要一个实例Graphics当时我还没有图形实例 事实上 我更喜欢使用
  • 在 JavaFX 中拖动未装饰的舞台

    我希望将舞台设置为 未装饰 使其可拖动且可最小化 问题是我找不到这样做的方法 因为我遇到的示例是通过插入到主方法中的方法来实现的 我想通过控制器类中声明的方法来完成此操作 就像我如何使用下面的 WindowClose 方法来完成此操作 这是
  • 比较 C# 中的对象属性[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动
  • JavaFX 中的 MVC 模式与场景生成器

    我是 JavaFX 新手 根据我当前的设置 正在努力创建合适的 MVC 架构 我使用 Scene Builder 单击了一个 UI 并指定了一个 Controller 类 Startup public class Portal extend
  • .properties 或 JSP 编码有问题

    我有jsp文件
  • gis计算点和多边形/边界之间的距离

    我想使用 python 计算一个点到一个国家边界之间的距离shapely 它应该工作得很好 point distance poly 例如在这里展示查找多边形形状上最近点的坐标 https stackoverflow com question
  • FXML 文件中的 getHostServices().showDocument()

    有没有简单的方法可以将 getHostServices showDocument 命令放入 toHomepage 方法中 而不是执行一行又一行的代码 这样代码应该看起来干净简单 package sample import javafx ap
  • 如何在谓词中对 FilteredList 结果进行优先级排序/排名?

    我的应用程序包含一个TextField and a ListView The TextField允许用户输入搜索词来过滤内容ListView当他们打字时 过滤过程将匹配每个字段中的多个字段DataItem in the ListView如果
  • Notepad++:: 通过正则表达式完全删除包含问号的行

    嗯 我想这就是我的标题 这对于我将要实现的目标来说是不言自明的 这是我当前的文本文件的示例 Diva was the winning song of the Eurovision Song Contest 1998 Who will win
  • 如何在每行中添加行号?

    假设这些是我的数据 Maps and Reduces are two phases of solving a query in HDFS Map is responsible to read data from input location
  • 仅从 PDF 中提取粗体文本的最佳方法

    iTextSharp 是一个很棒的工具 我可以使用PdfTextExtractor GetTextFromPage reader iPage 它工作得很好 但是有没有办法从 pdf 中只提取粗体文本 例如标题 而不是所有内容 无论编程语言如
  • 在 Objective-C 中获取对象的属性数组

    Objective C 中是否可以获取对象所有属性的数组 基本上 我想做的是这样的 void save NSArray propertyArray self propertyNames for NSString propertyName i
  • 搜索实体的所有字段

    我正在尝试在客户数据库上实现 多功能框 类型的搜索 其中单个查询应尝试匹配客户的任何属性 这是一些示例数据来说明我想要实现的目标 FirstName LastName PhoneNumber ZipCode Mary Jane 12345

随机推荐

  • 在 raku REPL 中定义后缀运算符时出现问题

    如果我在 raku 中有以下程序 它运行良好 trabajando en piensa en raku on master via v2 6 5 cat factorial raku sub factorial n 1 n sub post
  • 有没有一种快速方法将实体转换为 .csv 文件?

    目前 我有 string outputRow string Empty foreach var entityObject in entityObjects outputRow entityObject field1 entityObject
  • 将 matplotlib 绘图轴设置为数据框列名称

    我有一个像这样的数据框 data DataFrame Sbet 1 2 3 4 5 Length 2 4 6 8 10 然后我有一个函数可以绘制并拟合这些数据 def lingregress x y slope intercept r va
  • 为什么Java中局部变量没有初始化?

    Java 的设计者是否认为局部变量不应该被赋予默认值 说真的 如果实例变量可以被赋予默认值 那么为什么我们不能对局部变量做同样的事情呢 它还会导致问题 如中所述对博客文章的这条评论 http javahowto blogspot com 2
  • 合并两个重叠列表并保持顺序的 Pythonic 方法

    好吧 我有两个列表 如下所示 他们可以并且将会有重叠的项目 例如 1 2 3 4 5 4 5 6 7 这里将not是重叠中的附加项目 例如 这将not发生 1 2 3 4 5 3 5 4 5 6 7 这些列表不一定是有序的 也不一定是唯一的
  • 如何将纬度/经度对转换为 PostGIS 地理类型?

    我正在尝试将一堆纬度 经度对加载到 PostGIS 地理类型中 以便能够按位置查询 特别是我有一个带有浮动纬度和经度列的表格以及一个geography Point 4326 柱子 我想要做 update mytable set geogra
  • 如何在单个画布android中移动多个位图

    我想在同一画布上移动多个位图 使用下面的代码 我可以在触摸屏幕时移动一个位图 但是 我无法识别位图上的触摸事件 因此我无法移动特定的位图 public class DrawTopologyView extends View Paint pa
  • Rails 7.0 + esbuild:运行应用程序出现错误:找不到命令“build”

    新生成的带有 esbuild 选项的 Rails 7 0 在启动时出错 rails new project name javascript esbuild css tailwind 在创建新的 Rails 7 项目时 我尝试使用以下命令启动
  • android.intent.action.DOWNLOAD_COMPLETE 是显式广播吗?

    我的应用程序 targetSdk 25 在清单中定义了一个广播接收器 如下所示
  • 如何在剃刀视图上设置必填字段?

    我想将 data val required 和 data val 属性添加到 html textbox 或 Html EditorFor 元素 是否可以不重写视图 通常您不应该重写视图来实现这一点 您应该使用相应的验证属性来装饰视图模型属性
  • 如何在 ipython-notebook 中获取 sympy 表达式的乳胶表?

    我正在使用 sympy 从多个表达式中收集术语 并希望将结果 在 ipython notebook 内 格式化在一个表中 其中术语位于最左边的列中 后续的每一列代表一个表达式 该列中的条目来自dict由返回sympy collect sym
  • 如何将 Phantom 钱包连接到我的 Flutter Web 应用程序?

    我一直在尝试将 Flutter Web 应用程序连接到 Phantom 钱包 但没有成功 尚未发布 pub dev 软件包来实现此目的 并且无法弄清楚如何使用 dart js 互操作来实现此目的 想知道是否有人已经弄清楚了 我有一段 粗略的
  • 返回活动时如何保留 Android ListView 滚动位置? [复制]

    这个问题在这里已经有答案了 可能的重复 返回 ListView 时保持 保存 恢复滚动位置 https stackoverflow com questions 3014089 maintain save restore scroll pos
  • 加权词嵌入是什么意思?

    In the paper http www aclweb org anthology S17 2100我正在努力实施 它说 在这项工作中 使用三种类型的文本对推文进行建模 表示 第一个是词袋模型 权重为 tf idf 词频 逆文档频率 部分
  • 如何更新 pyqtgraph 中的绘图?

    我正在尝试使用 PyQt5 和 pyqtgraph 拥有一个用户界面 我制作了两个复选框 每当我选择它们时 我想绘制代码中可用的两个数据集之一 每当我取消选择按钮时 我希望它清除相应的曲线 有两个带有文本的复选框A1 and A2他们每个人
  • Silverlight 中的同步 WebClient 下载

    我需要下载一个字符串 特别是来自 PHP Web 服务的 JSON 数组结果 作为返回字符串的函数 而不是 DownloadStringAsync 我需要这个 因为我正在编写一个下载字符串的函数 然后将其转换为 JsonArray 我正在使
  • Firebase Spark 版本中可以有多少个项目?

    我正在尝试添加第三个项目 但我不断收到此错误 您已经超出了可以创建的免费项目的最大数量 尝试通过项目设置删除一些项目或请求增加项目限制 我已通过项目设置删除了所有多余的项目 希望消除此错误 但它仍然存在 我不想要求更多的项目并且必须付费 我
  • 强制执行密码要求

    我想检查用户是否成功满足以下要求 密码至少有8个字符 由 1 个大写字母和 1 个小写字母组成 我该怎么做 我正在使用下面的 PHP 脚本 if strlen password lt 8 false else if preg match 0
  • 生成唯一 ID(检查或不检查)? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 考虑 youtube 视频网址 例如 e g http www youtube com watch v JVkaMqD5mI feature r
  • JavaFX 两个圆之间的距离并不断更新属性

    为了进行作业 我创建了 2 个可拖动的圆圈 并使用 javaFX 将它们连接起来 我需要添加计算两个圆之间的距离 或线的长度 的文本 并且当我拖动圆时该文本需要不断更新 但这就是我陷入困境的地方 Circle circle1 new Cir