Javafx — исправлен макет borderPane, чтобы он представлял собой идеальный куб кнопок 3 на 3, заполняющий все пространствJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Javafx — исправлен макет borderPane, чтобы он представлял собой идеальный куб кнопок 3 на 3, заполняющий все пространств

Сообщение Anonymous »

Я не могу понять, как заполнить пространство borderPane, не оставив места на сцене. BorderPane нельзя изменить на GridPane, потому что это не то направление, которому мне нужно следовать. Я ищу способ изменить размер компонентов borderPane или заставить кнопки полностью заполнять пространство. В качестве бонуса можно использовать кнопки и borderPane для изменения размера окна. Все пуговицы должны быть одинакового размера. СПАСИБО
Это то, что я хочу: конечный результат должен быть таким
Вот что у меня есть: [Гуйный интерфейс, который я сделал](https: //i.sstatic.net/f5ghQcq6.png)

Код: Выделить всё

import javafx.scene.layout.BorderPane;
import javafx.scene.layout.*;
import javafx.stage.Stage;
import javafx.scene.control.*;
import javafx.geometry.*;

public class MagicSquares extends Application {
Button tRButton;
public static void main(String[] args) {
launch(args);
}

@Override
public void start(Stage primaryStage) {
Button tLButton = new Button("1");
Button tCButton = new Button("2");
Button tRButton = new Button("3");
HBox topRow = new HBox(tLButton, tCButton, tRButton);
topRow.getStyleClass().add("a");

Button mLButton = new Button("4");
VBox middleLeft = new VBox(mLButton);
middleLeft.getStyleClass().add("b");

Button mCButton = new Button("5");
HBox middleCenter = new HBox(mCButton);

Button mRButton = new Button("6");
VBox middleRight = new VBox(mRButton);
middleRight.getStyleClass().add("c");

Button bLButton = new Button("7");
Button bCButton = new Button("8");
Button bRButton = new Button("9");
HBox bottomRow = new HBox (bLButton, bCButton, bRButton);
bottomRow.getStyleClass().add("d");

BorderPane bPane = new BorderPane();
bPane.setTop(topRow);
bPane.setLeft(middleLeft);
bPane.setCenter(middleCenter);
bPane.setRight(middleRight);
bPane.setBottom(bottomRow);

Scene scene = new Scene(bPane);

primaryStage.setScene(scene);
primaryStage.show();
scene.getStylesheets().add("styles.css");
}
}
Я пытался поменять блоки и использовать только три vbox. Я добавил цвет, чтобы увидеть макет более четко, но все равно безуспешно. Я также пробовал много вариантов изменения размера, например Prefwidth, max/min-width с помощью double.MAX... кнопок, полей и borderPane.

Подробнее здесь: https://stackoverflow.com/questions/786 ... buttons-fi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»