ScalaFX绘制多个形状

时间:2016-05-05 15:54:12

标签: scala scalafx

我有以下代码:

import scalafx.application.JFXApp
import scalafx.scene.Scene
import scalafx.scene.layout.HBox
import scalafx.scene.paint.Color._
import scalafx.scene.shape.Rectangle

object Main extends JFXApp {
  stage = new JFXApp.PrimaryStage {
    title.value = "Hello Stage"
    width = 100
    height = 100
    scene = new Scene {
      fill = White
      content = new HBox {
        children = Seq(
          new Rectangle {
            x = 10
            y = 10
            width = 10
            height = 10
            fill = Green
          },
          new Rectangle {
            x = 20
            y = 20
            width = 10
            height = 10
            fill = Red
          }
        )
      }
    }
  }
}

我希望这会给我两条相邻的对角线上的正方形,边缘有一个间隙,但是它们依旧靠在边缘并且紧挨着彼此。

我做了很多谷歌搜索并阅读了很多scalaFX文档,并且无法理解我做错了什么。我希望我一直在寻找错误的地方! 我不知道javaFX(也不是Java),所以查看JavaFX文档对我来说更难以理解:(

1 个答案:

答案 0 :(得分:3)

由于您将Rectangles添加到HBox x,因此HBox将其子项放在一个水平行中,因此不考虑y坐标。

查看https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/HBox.html

上的文档

尝试使用窗格(对于哪个子布局是非托管的,而是由开发人员指定) https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Pane.html