Позиция между каждым заголовкомJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Позиция между каждым заголовком

Сообщение Anonymous »

У меня есть проект, в котором мне нужно создать игру. Моя задача — создать представление «Выбор уровней», но проблема в том, что я не знаю, как отрегулировать положение, например, кодирование положения макета для перемещения всех уровней с 1 на 5.
Изображение

На основе примера, приведенного здесь, это мой вариант SelectLevels. Просто я хочу уровень с 1 по 5 переместить в среднее положение. И тТ

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

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;

public class GameLevels extends Application {

@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Game Levels");

// Container for the title
VBox titleBox = new VBox();
titleBox.setAlignment(Pos.TOP_CENTER);
titleBox.setPadding(new javafx.geometry.Insets(30, 0, 0, 0));

Label title = new Label("GAME LEVELS");
title.setFont(Font.font("Arial", FontWeight.BOLD, 40));
title.setTextFill(Color.BLACK);
titleBox.getChildren().add(title);

// Container for the levels and back button
VBox levelsBox = new VBox(10);
levelsBox.setAlignment(Pos.CENTER);

Label[] levels = new Label[5];
for (int i = 0; i < 5; i++) {
levels[i] = new Label("LEVEL " + (i + 1));
levels[i].setFont(Font.font("Arial", FontWeight.NORMAL, 24));
levels[i].setTextFill(Color.BLACK);
levels[i].setOnMouseClicked(this::handleLevelClick);
levelsBox.getChildren().add(levels[i]);
}

Label back = new Label("BACK");
back.setFont(Font.font("Arial", FontWeight.NORMAL, 24));
back.setTextFill(Color.BLACK);
back.setOnMouseClicked(this::handleBackClick);
levelsBox.getChildren().add(back);

// Main container combining title and levels
VBox mainBox = new VBox();
mainBox.setAlignment(Pos.TOP_CENTER);
mainBox.getChildren().addAll(titleBox, levelsBox);

Scene scene = new Scene(mainBox, 400, 600);
scene.setFill(Color.WHITE); // Optional: Change the background color if needed

primaryStage.setScene(scene);
primaryStage.show();
}

private void handleLevelClick(MouseEvent event) {
Label source = (Label) event.getSource();
System.out.println(source.getText() + " clicked");
}

private void handleBackClick(MouseEvent event) {
System.out.println("Back clicked");
}

public static void main(String[] args) {
launch(args);
}
}
Я пробовал,

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

titleBox.setPadding(new javafx.geometry.Insets(30, 0, 0, 0));
Это правильный код для изменения положения кнопки? Должен ли я добавить эту кодировку на каждый уровень, чтобы переместить нижнее положение в середину, или есть другая кодировка?

Подробнее здесь: https://stackoverflow.com/questions/787 ... ach-titles
Ответить

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

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

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

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

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