JavaFx TextFlow在更改值时不会在GridPane上调整大小

时间:2017-11-10 19:37:57

标签: javafx

我在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);           
        }

Result screenshot

你可以从截图中看到,只有一张来自额外的第三张'卡'的点显示,我认为是由于截断。我尝试过使用setPrefWidth和setMinWidth但没有成功。

我可以通过在GridPane上删除并重新添加TextFlow来解决问题,

        playerGrid.getChildren().remove(mhText);
        playerGrid.add(mhText, 1, myHandRow);

但如果这是正确的方法我会感到惊讶,欢迎任何建议。

0 个答案:

没有答案