Hbox не отображается, если установлено значение «Низ»JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Hbox не отображается, если установлено значение «Низ»

Сообщение Anonymous »

У меня есть 2 основных узла. Одним из них является боковое меню, которое работает идеально, и меню функций, которое должно продолжать нижнюю часть бокового меню до конца ширины экрана. Почему-то HBox не отображается при установке с помощью bp.setBottom(hb). Это код. (Извините, если это неорганизованно или непрофессионально, я новичок, но готов принять советы, если они есть.) Спасибо.
package org.example.travelplanner.view;

import javafx.geometry.Insets;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import org.example.travelplanner.controller.Controller;

public class HomePane extends MainPanes {
private BorderPane bp;
private int numofverticalbuttons;
private Color bgcolor;
private int numofhorizonbuttons;
private HBox functionmenu;
private double sidemenuwidth;
public VBox sidemenu;

public HomePane(Controller cr) {
super(cr);
bp = new BorderPane();
super.getPane().getChildren().add(bp);
initHomePane();
}

public void initHomePane() {
initSideMenu();
initDownMenu();
}

public void initSideMenu() {
sidemenu = new VBox(4);
sidemenu.prefHeightProperty().bind(getPane().heightProperty());
sidemenu.prefWidthProperty().bind(getPane().widthProperty().multiply(0.16));
bgcolor = new Color(0.1, 0.1, 0.05, 0.1);
sidemenu.setBackground(new Background(new BackgroundFill(bgcolor, CornerRadii.EMPTY, new Insets(0))));
Label companytag = new Label("TP");
companytag.setFont(new Font(100));
companytag.getStyleClass().add("tag_label");
sidemenu.getChildren().add(companytag);
sideMenuButtons();
Label lasthistory = new Label("Last trips:");
lasthistory.getStyleClass().add("unusedlabel");
sidemenu.getChildren().add(lasthistory);
bp.setLeft(sidemenu);
}

public void sideMenuButtons() {
sidemenuwidth = getWidth() / 6;
numofverticalbuttons = 3;
for (int i = 0; i < numofverticalbuttons; i++) {
Button button = new Button();
sidemenu.getChildren().add(button);
button.setPrefSize(sidemenuwidth, 10);
if (i == 0) {
button.setText("Settings");
}
if (i == 1) {
button.setText("Plans");
}
if (i == 2) {
button.setText("Coming\n Trips");
button.setPrefSize(sidemenuwidth, 60);
}
button.getStyleClass().add("home_button");
}
}

public void initDownMenu() {
functionmenu = new HBox(10);
numofhorizonbuttons = 3;
double prefheight = 100;
functionmenu.setPrefHeight(prefheight);
functionmenu.prefWidthProperty().bind(getPane().widthProperty());
functionmenu.setBackground(
new Background(new BackgroundFill(bgcolor, CornerRadii.EMPTY, Insets.EMPTY)));
functionButtons();
bp.setBottom(functionmenu);
}

public void functionButtons() {
for (int i = 0; i < numofhorizonbuttons; i++) {
Button button = new Button();
functionmenu.getChildren().add(button);
button.setPrefSize(30, 30);
if (i == 0) {
button.setText("button1");
}
if (i == 1) {
button.setText("button2");
}
if (i == 2) {
button.setText("button3");
}
button.getStyleClass().add("home_button");
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... set-bottom
Ответить

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

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

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

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

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