Текст кнопки Javafx не отображается

В настоящее время я создаю макет в JavaFX. Тем не менее, текст моих кнопок отображается в некоторых местах, а для некоторых кнопок текст просто отображается как «...».
Я хочу отображать весь текст в кнопках, сохраняя размер окна как 500x500.
Вот мой код, я создаю 10 кнопок, и только некоторые из них показывают свой текст. Есть ли способ установить размеры кнопок по-прежнему в макете, показывая их текст?

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class MainGUI extends Application {
    private Button[] buttons=new Button[10];
    private Stage window;
    private GridPane layout;
    public int count=3;
    @Override
    public void start (Stage primaryStage)
    {
        window=primaryStage;
        layout=new GridPane();
        layout.setPadding(new Insets(100));
        layout.setVgap(10);
        layout.setHgap(10);

        for(int i=0;i<10;i++)
        {
            buttons[i]=new Button();
        }
        buttons[0].setText("y=0.5x");
        buttons[1].setText("y=x");
        buttons[2].setText("y=2x");
        buttons[3].setText("y=0.1x^2");
        buttons[4].setText("y=x^2");
        buttons[5].setText("y=10x^2");
        buttons[6].setText("y=3 sin(x pi/10)");
        buttons[7].setText("y=6 sin(x pi/10)");
        buttons[8].setText("y=6 sin(x pi/5)");
        buttons[9].setText("y= 5 sin(x pi/10) + (5/3)sin(3x pi/10) + sin(x pi/2) + (5/7)sin(7x pi/10)");

        for(int j=0;j<10;j++)
        {
            if (count==3)
            {
                count=0;
            }
            if(j<=2)
            {
                GridPane.setConstraints(buttons[j],count,0);
            }
            else if ((j>2) && (j<=5))
            {
                GridPane.setConstraints(buttons[j],count,1);
            }
            else if((j>5) && (j<=8))
            {
                GridPane.setConstraints(buttons[j],count,2);
            }
            else if((j>8) && (j<=9))
            {
                GridPane.setConstraints(buttons[j],1,3);
            }
            count++;
        }
        layout.getChildren().addAll(buttons);
        Scene scene=new Scene(layout,600,600);
        window.setScene(scene);
        window.show();
    }
    public static void main(String[] args)
    {
        launch(args);
    }
}

java,button,javafx,

-1

Ответов: 1


0 принят

Это выглядит так: 0 вставка:

введите описание изображения здесь

Как вы видите, он тихий. Легкой альтернативой было бы сделать последний длинный кнопочный диапазон над двумя столбцами:

GridPane.setConstraints(buttons[j],1,3,2,1);

В результате

введите описание изображения здесь

Для большего контроля над макетом рассмотрим использование некоторых дочерних окон. Например:

введите описание изображения здесь

Java, кнопка, JavaFX,
Похожие вопросы
Яндекс.Метрика