我正在为自己的一个项目一个游戏叫集合。它是一个与不同的牌相匹配的游戏,每一张牌都有形状、颜色或形状的数量。我试图创建一个网格窗格,它可以灵活地容纳一个形状,或者最多容纳3个形状。我创建了一个3×3的gridpane,并且已经创建了数组来选择随机的形状、颜色或数字。然而,我一直在苦苦思索如何创建一个gridpane,其中每个网格可以灵活地容纳形状的数量。这是我当前的代码。方法setCards扩展了BorderPane。这里我正在使用圆圈来测试布局。这个场景是999x999,它是一个3x3的网格。这是一个屏幕截图,它看起来像目前,它真的让我困惑为什么。如有任何帮助,我们将不胜感激。附上图片
import javafx.geometry.Insets;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.ColumnConstraints;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.RowConstraints;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import java.util.concurrent.ThreadLocalRandom;
import javafx.scene.control.Button;
import java.util.*;
public class SetCards extends BorderPane{
private GridPane cards;
private Button checkSet;
private Button findSets;
private Button replaceEmptyPanes;
private VBox menu;
private HBox[][] num1;
private int row, col;
private Circle cir;
public SetCards(){
//set up gridpane
menu = new VBox();
num1 = new HBox[9][9];
cards = new GridPane();
for(col = 0; col < 3; col++) {
for(row = 0; row < 3; row++) {
cir = new Circle(40);
cir.setFill(Color.RED);
cir.setStroke(Color.BLACK);
cir.setStrokeWidth(2);
cir.setCenterY(col);
cir.setCenterX(row);
num1[col][row] = new HBox();
num1[col][row].getChildren().addAll(cir);
cards.add(num1[col][row],col, row);
}
}
checkSet = new Button("Check Set");
findSets = new Button("Find Set");
replaceEmptyPanes = new Button("Replace Cards");
cards.getColumnConstraints().add(new ColumnConstraints(333));
cards.getRowConstraints().add(new RowConstraints(333));
menu.setSpacing(40);
menu.setPadding(new Insets(20, 20, 20, 20));
menu.setStyle("-fx-border-color: black");
menu.getChildren().addAll(checkSet, findSets, replaceEmptyPanes);
this.setLeft(menu);
this.setCenter(cards);
}
}
仅为第一行和第一列设置约束。必须为要配置的每一行和每列添加约束。查看文档,您可以只执行一个循环来设置所有约束:
for(int i=0; i<3; i++){
cards.getColumnConstraints().add(new ColumnConstraints(333));
cards.getRowConstraints().add(new RowConstraints(333));
}
我正在尝试使用两列创建一个具有特定布局的窗口,但我不能完全按照我想要的方式工作。 首先,一些简化的示例代码: 以下是我想要的: 微调器和按钮应使用所有可用宽度 我试着使用各种各样的限制,但我无法让一切都正常工作。我认为我发现的主要问题是,在让微调器使用可用宽度后,它们在缩小窗口时拒绝收缩。 我正在Linux中使用Oracle JDK 1.8.0\u 60。
我是JavaFX的新手,目前我试图构建一个小型聊天窗口。为此,我为我的Listview获得了以下自定义单元格布局。 网格 我使用外部HBox,所以我可以像whatsapp一样对齐消息。。。(左右对齐)。在我的GridPane中,我得到了两列,消息(标签)在左侧,其他一些随机的东西在右侧(时间戳,一些小图标)。现在我需要的是:GridPane/左列/标签的高度应该根据文本消息的长度动态地增长/收缩。
我正在用JavaFX写一个程序 硼烷- 我希望能够添加尽可能多的行到gridpane,并让scrollpane自动扩展自己。 注意:我有一些很长的文件,所以我只包括重要的部分。如果您需要整个FXML或Controller文件,请给我留言。 以下是我的gridpane/scrollpane的FXML: 我有以下代码在我的控制器内的FXML 谢谢大家的帮助! 瑞恩
我的场景中有一个对象。我希望能够调整窗口的大小,并与它一起调整窗格的大小。我还想在窗格旁边放置一个。 到目前为止,我已经成功地生成了一个完全可调整大小的或一个,其中包含和对象,但当我调整窗口大小时,窗格不会随之调整大小。 以下是带有锚烷的FXML: 只有的版本基本上就是版本中使用的代码,但具有和属性。 如何制作一个场景,使其具有可调整大小的和?
我真的开始使用LWJGL(我刚刚开始),我专注于一件事:当我创建一个窗口并且我想将其设置为不可调整大小时,我使用: 然而,即使我想在创建窗口后设置它,我也不知道如何设置。我只是尝试在创建窗口后放置命令,但它不起作用: 那么,我该如何解决这个问题呢?