java向窗格Javafx添加2个或更多图像时遇到问题
我正在用javafx编程一个简单版本的21点,但我想我迷失了回家的路!我需要显示卡在两行当我点击点击按钮。
单击按钮时,如何在一行中添加不同的图像?我试图使用GridPane
和BorderPane
,但图像显示在同一位置。。。我知道我每次按下按钮都需要一个for循环,但我不知道怎么做。。我用java swing做了同样的游戏,玩得很好
所需布局
当前布局
这是我的loadImage
方法
public void ImageloadP(Card xPCard) {
String xP = xPCard.toString();
Image card = new Image("file:/Users/cetabije/Desktop/Apa/src/cards.png/" + xP + ".png");
ImageView xPv = new ImageView(card);
xPv.setFitHeight(140);
xPv.setFitWidth(95);
root.getChildren().add(xPv);
}
# 1 楼答案
尝试使用根节点中包含的HBox,它在调用ImageLoadP方法之前已初始化
https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/HBox.html
http://www.java2s.com/Tutorials/Java/JavaFX/0300__JavaFX_HBox.htm
# 2 楼答案
这个可以用
GridPane
完成,但是必须指定列/行索引,以防止Node
被放置在同一位置为了简单起见,以下示例使用了
Rectangle
s,但它适用于任何Node
类型:请注意,如果使用} 、^{} 或^{} 指定了不同的位置
gridPane.getChildren().add(node)
,将使用默认的列/行索引(0
),除非在node
的属性中使用^{请注意,
BorderPane
不是正确的Parent
来显示彼此相邻的多个节点,除非它们适合顶部、左侧、中间、右侧和/或底部节点的“角色”(在您的场景中并非如此)