当前位置: 首页 > 知识库问答 >
问题:

设置HBox-JavaFX的shape属性

鲁彬炳
2023-03-14

我正在尝试将hbox的shape属性设置为多边形。以下代码位于一个类中,该类使用一个构造函数扩展Hbox,该构造函数需要一个名为origpoints的点列表。

val polygon = new javafx.scene.shape.Polygon()
origPoints.foreach{case (x,y) => polygon.getPoints.addAll(x,y)}
setShape(polygon)
setStyle("-fx-border-color: red")

如果语法有一点不同,请原谅。我使用的是ScalaFX,但我不认为这会在本例中引起任何问题。

更多信息:我正在制作一张难解的美国地图。我有每个州的坐标图。我想有使用一个hbox的优点,如能够添加文本等儿童。

共有1个答案

谭曦
2023-03-14

正如Sedrick Jefferson指出的,需要设置minWidth和minHeight,否则hbox会选择0高度/宽度。我希望我的国家在调整窗口大小时能够缩放,所以我将它们的MinHeight/MinWidth属性绑定到一个SimpleDoubleProperty中,该属性跟踪背景的缩放比例,以便相应地缩放高度/宽度。

origPoints.foreach{case (x,y) => polygon.getPoints.addAll(x,y)}
shape = polygon
styleClass.setAll("country")
minHeight.bind(yScale.multiply(origHeight))
minWidth.bind(xScale.multiply(origWidth))
 类似资料:
  • 主要内容:示例,示例2,在HBox中增长,设置HBox首选宽度,在HBox的控件之间设置空格(空间),HBox设置填充和间距JavaFX API具有将UI控件显示到场景图上的布局类。 HBox布局类将JavaFX子节点放在水平行中。 新的子节点附加到右侧的末尾。默认情况下,HBox布局尊重子节点的首选宽度和高度。 当父节点不可调整大小时,例如节点,的行高度设置为子节点的最大首选高度。 默认情况下,每个子节点与左上()位置对齐。 我们可以通过编程方式改变HBox的布局约束,例如边框,填充,边距,间

  • 根据 Microsoft Office 宿主应用程序,返回Shape 对象或InlineShape 对象。Object 类型,只读。 说明 在 Microsoft Excel 和 PowerPoint 中,Shape 属性返回一个Shape 对象。在 Word 中,如果脚本标记是浮动的,那么Shape 属性返回一个Shape 对象;如果该脚本标记是嵌入式标记,则此属性返回InlineShape 对

  • 我一直在使用JavaFX开发一个软件,遇到了一个愚蠢但令人担忧的问题。 在代码的某些部分中,我有一个,其中有三个项目:、和。

  • 问题内容: 如何隐藏HBox中的项目,并使该项目使用的空间可用于其他项目。 在上面的代码中,当图例窗格隐藏时,我希望图表节点使用所有可用空间。 问题答案: 在调用legendPane.setVisible之前,请调用: 所述Node.managed特性防止一个节点在一个场景影响其他场景节点的布局。

  • 我有一个和一个,在hBox中有三个,一个包含文本,另一个包含表中两列的总和。我想为HBox设置一个动态的间距,使两个标签正好在它们所属的表中的两列下方对齐。是否有可能将的间距绑定到列的位置。我也接受任何其他将标签固定在相应列下方的解决方案。下面是一个显示我想要的图像: