我选择了窗格,但是我想设置对齐方式,可以吗?

时间:2019-07-07 09:30:17

标签: javafx size

我正在用javafx做一个项目。作为选币人,我选择Pane,也许是最糟糕的决定!是否可以使用根据面板大小加载的句子长度来居中显示文字?

我实际上正在显示我编写的代码。如您所见,GeneralQuestion的长度是多种多样的,问题没有最小或最大字符。如何根据面板的尺寸居中?

这是什么样子:enter image description here

这是输出,如您所见,它没有居中。我知道有VBox或其他类型的面板,但是我已经选择了它,并且在更改所有内容之前,我想知道是否有任何方法可以使它看起来更好!

这是控制器:

public void nextQuest(ActionEvent e) throws IOException
{
secondaryImg.setVisible(false);
nextQuestionButton.setVisible(false);
getQuestion(cont);
cont++;
}

public void getQuestion(int cont) throws FileNotFoundException, 
IOException
{
FileManager f = new FileManager();
numQuest();
QuestionManager m = new QuestionManager(f.loadQuestion());

                GeneralQuestion.setText(m.getAllQuestion().get(cont).getBody());
answ=m.getAllQuestion().get(cont).getAnswer();

     if(m.getAllQuestion().get(cont).getType().equals("normale")||m.getAllQuestion().get(cont).getType().equals("perditutto"))
answS.setVisible(true);
else if(m.getAllQuestion().get(cont).getType().equals("verofalso")){
RbVero.setVisible(true);
RbFalso.setVisible(true);
}
} 

这是FXML(的一部分):

<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" style="-fx-background-color: #b8ffe0; -fx-border-width: 8px; -fx-border-color: #0e3d73;" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="guiz.controller.GameScreenController">
<children>

<Label id="numquest" fx:id="numquest" layoutX="286.0" layoutY="35.0" text="Label">
<font>
<Font size="15.0" />
</font></Label>

<Label fx:id="GeneralQuestion" layoutX="225.0" layoutY="123.0" style="-fx-font-weight: 800;" text="Quest">
<font>
<Font size="18.0" />
</font>
</Label>
</children>
</Pane>

2 个答案:

答案 0 :(得分:0)

在JavaFX中,您可以通过相互嵌套各种布局窗格来获得所需的布局。窗格确实是个糟糕的决定,因为窗格根本不做任何布局。在您的情况下,将VBox确实更好地替代它,您可以将其放入BorderPane中。

答案 1 :(得分:-1)

谢谢!我将尝试将其更改为VBox!