Я выбрал панель, но хотел бы установить выравнивание, возможно ли это? - PullRequest
1 голос
/ 07 июля 2019

Я делаю проект с javafx.В качестве монетодержателя я выбираю панель, возможно, худшее решение!Можно ли центрировать текст, используя длину предложения, которое будет загружено в соответствии с размером панели?

Я на самом деле показываю код, который я написал.Как видите, длина GeneralQuestion будет различной, вопрос не имеет символа min или max.Как я могу отцентрировать его в соответствии с размером панели?

Вот как это выглядит: 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 голосов
/ 07 июля 2019

Спасибо!Я постараюсь изменить это как VBox!

0 голосов
/ 07 июля 2019

В JavaFX вы получаете желаемую компоновку, вкладывая различные панели компоновки друг в друга. Pane действительно плохое решение, потому что Pane просто не делает никакого макета вообще. В вашем случае VBox действительно будет лучшей альтернативой, которую вы можете поместить в BorderPane.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...