A BorderPane
может иметь только один узел в любом регионе. (Разумеется, этот узел может быть родителем, содержащим произвольные номера других узлов.) Конструктор , принимающий единственный параметр , обрабатывает этот параметр как узел, отображаемый в центре.
Итак
BorderPane root = new BorderPane(arrayLabel);
эквивалентно
BorderPane root = new BorderPane();
root.setCenter(arrayLabel);
Когда вы впоследствии (немедленно) звоните
root.setCenter(searchbox);
центральный узел заменен на searchbox
, поэтому arraylabel
больше не является частью BorderPane
.
Не совсем понятно, что вы намереваетесь здесь: вы по сути пытаетесь поместить два разных компонента пользовательского интерфейса (arrayLabel
и searchbox
) в одну и ту же область одного и того же BorderPane
. Нет никакой информации (предоставленной ни нам, ни бедным BorderPane
, которые пытаются позиционировать эти узлы) о том, как вы хотите, чтобы эти два компонента были расположены относительно друг друга. Чего вы на самом деле пытаетесь достичь с точки зрения того, как вы хотите, чтобы они были изложены?