我在GridPane中有一个TextFlow,当我将其值更改为更宽的值时,它不会在显示时相应地增加其宽度但会截断。我是Java的新手,我可能错过了一些简单的东西。
初始值构建如下;
TextFlow mhText = new TextFlow();
// Loop to build TextFlow
for(Card c : myGame.me.playerHands.get(0).handCards) {
Text text = new Text(c.cardText(false) + " ");
if(c.redSuit()) {text.setFill(Color.RED);}
mhText.getChildren().add(text);
}
playerGrid.add(mhText, 1, pgRow)
然后它重建......
mhText.getChildren().clear();
for(Card c : myHand.handCards) {
Text text = new Text(c.cardText(false) + " ");
if(c.redSuit()) {text.setFill(Color.RED);}
mhText.getChildren().add(text);
}
你可以从截图中看到,只有一张来自额外的第三张'卡'的点显示,我认为是由于截断。我尝试过使用setPrefWidth和setMinWidth但没有成功。
我可以通过在GridPane上删除并重新添加TextFlow来解决问题,
playerGrid.getChildren().remove(mhText);
playerGrid.add(mhText, 1, myHandRow);
但如果这是正确的方法我会感到惊讶,欢迎任何建议。