Конструктор - это специальный метод класса, инициализирующий поле класса. Имя_компьютера - это то же имя, что и имя класса. У него нет типа возврата. Когда экземпляр создается, вызывается конструктор времени. Без памяти конструктора нельзя выделить, если разработчику не удалось определить конструктор, а затем неявный конструктор, вызываемый и инициализирующий поле с фиксированным значением или значением по умолчанию для типа данных.
Вы вызываете неправильный метод. Вам нужно
srcPaneUsers.setContent(myGridPane);
Метод getChildren()
, определенный в Parent
, является защищенным методом. Он переопределяется в Pane
как общедоступный метод, поэтому для макетов (GridPane
, BorderPane
и т. Д.) Вы можете напрямую манипулировать списком дочерних узлов.
ScrollPane
- это ScrollPane extends Control extends Region extends Parent
, поэтому он наследует метод protected
getChildren()
. И это на самом деле имеет смысл: дочерние узлы ScrollPane
- это такие вещи, как окно просмотра (которое зажимает представление содержимого) и полосы прокрутки: вы действительно не хотите, чтобы пользователь манипулировал ими, в противном случае вы в конечном итоге получаете скорее всего, не будет функционировать правильно. ScrollPane
действительно имеет только один узел, который настраивается: узел, из которого ScrollPane
предоставляет представление: это называется его content
и доступ через contentProperty()
, getContent()
и setContent()
].
Аналогичным образом работают другие «контейнероподобные элементы управления». Класс TabPane
предоставляет метод getTabs()
, который возвращает ObservableList<Tab>
; и класс Tab
, в свою очередь, предоставляет contentProperty()
, чтобы вы могли получить доступ к содержимому каждой отдельной вкладки. Вкладка SplitPane
предоставляет метод getItems()
, возвращающий ObservableList<Node>
для узлов, отображаемых на панели. В случае SplitPane
его дочерние узлы больше, чем элементы: они включают визуальные компоненты, представляющие разделители, и т. Д. В обоих случаях метод getChildren()
является защищенным методом (унаследованным от Parent
).
Обратите внимание, что Parent
также определяет общедоступный метод getChildrenUnmodifiable()
, который возвращает немодифицируемое представление списка дочерних узлов. Вы можете использовать это, чтобы проверить иерархию узлов любого родителя, но не изменять его. (Однако для целей отладки, особенно для работы с CSS, я рекомендую использовать ScenicView .)
getChildren().add(..)
здесь не работает? Так я добавляю элементы в GridPane. – pkaramol 15 October 2014 в 10:02