首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JavaFX 8中绘制交互路径?

在JavaFX 8中绘制交互路径?
EN

Stack Overflow用户
提问于 2014-08-06 23:14:35
回答 1查看 563关注 0票数 0

(由于我是新来的,请原谅在提问/排版方面有什么错误)

请注意,我还不能在这里张贴代码,并且FXML代码不值得发布,对吗?另外,我之前的GUI编程经验很少.我首先使用了JavaFX 8,因为我使用了Java,并且从许多方面听说了FX >> Swing。

我正在尝试创建一个GUI,它允许用户(通过鼠标操作事件)输入NumberLink拼图编号,然后在网格中显示该谜题,并具有绘制路径的功能,并将其撤消。这与尼可利的Numberlink中的功能几乎完全相同。这个谜题很有趣,这就是规则。UI的目标是让用户通过绘制线等来交互地解决难题,就像在Nikoli的网站上一样。求解者将是以后的加法。

  1. 在我的项目中,我有一个Stage,其中设置Scene提示用户输入行和列(以获取拼图的大小),
  2. 接下来,它生成一个空的网格(我在这里考虑使用GridPane ),用户单击这些方块将数字输入到正方形中。如果我使用TextField和鼠标侦听器并将信息存储在网格中,则此阶段没有问题.下一个阶段是我被困在.除非我知道怎么做,否则我不能取得进展.
  3. 在第三阶段,我必须向用户显示数字,就像在Nikoli网站上一样(鼠标悬停上的高亮数字对也是一个必要的特性,我认为我可以处理CSS)。用户应该在数字之间画出路径,就像在那个站点上(我认为VLineToHLineTo类是合适的)。但我不确定,也找不到其他选择)请帮忙.

因此,考虑到这一点,我制作了基于FXML的虚拟gui布局来测试我的想法是否有效.我也不能让GridPane在上面画线(意思是,我不能把像HLineTo这样的线条对象放在网格窗格的顶部).还有其他方法来做我需要做的吗?我还想在一个网格中创建多个Canvas对象(每个正方形都是自己的画布),将数字作为Text对象,在网格顶部设置一个透明的画布,并将它们都放在StackPane上,但这样StackPane的子代就不会同步。

请帮我指出正确的方向,谢谢(告诉我,如果我错过了一些基本的东西,我认为我是)。

EN

回答 1

Stack Overflow用户

发布于 2014-08-08 22:28:08

您可以将GridPane封装在AnchorPane中,然后使用getChildren().add(Node node)

假设您的控制器已经定义了<AnchorPane fx:id="anchorpane"...>implements Initializable

代码语言:javascript
复制
@FXML private AnchorPane anchorpane;

@Override
public void initialize(URL location, ResourceBundle resources) {
    Line line = new Line(double startX, double startY, double endX, double endY);

    anchorpane.getChildren.add(line);
}

注意到:行实际上应该依赖于鼠标事件,所以它实际上不应该在初始化方法中;但是它应该帮助您开始您想要做的事情。

HTH

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25171805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档