【问题标题】:JavaFX, adding images in StackPaneJavaFX,在 StackPane 中添加图像
【发布时间】:2015-02-05 20:00:55
【问题描述】:

我停留在这个阶段,如何将这 3 个塔添加到 StackPane 以及如何在没有 Scene Builder 的情况下仅使用 JavaFX 代码移动该窗格内的砖块(例如从 1-2-3)?如果有任何答案,我将不胜感激!

图片:

【问题讨论】:

    标签: javafx


    【解决方案1】:

    我的建议:

    您创建了一个类“Tower”,它扩展了类Pane 并包含一个磁盘列表。该类有一个“accept”方法,该方法返回布尔值,具体取决于您是否可以将磁盘放在那里。

    创建 3 个 Tower 类的实例。

    然后您创建一个扩展类Rectangle 的“磁盘”类。创建 8 个不同宽度的实例,并将它们添加到第一个塔,即 Tower 类的列表中。

    每个磁盘都将使用Drag nodes like in a patience/Klondike card game 中所述的鼠标侦听器。该机制与您需要的非常相似。

    在鼠标侦听器的 mousepressed 处理程序中,您检查磁盘是否在塔顶上,因此您是否可以拖动它。

    在鼠标侦听器的 mousereleased 处理程序中,您只需检查磁盘是否与给定的塔相交(参见boundsInParentintersects)。如果确实如此,并且 accept 方法返回 true,则将其放在那里。如果accept方法返回false,就让它飞回原来的地方。

    当 Tower 拥有所有磁盘时,您就完成了。

    基本上就是这样。

    哦,不要使用 StackPane,而是使用 Pane。而且你不需要图像。您展示的图片只能由矩形创建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-04
      • 1970-01-01
      相关资源
      最近更新 更多