В Swing удалось создать пользовательские компоненты (только в коде), расширив JComponent
(или JPanel
), дайте ему макет, а затем добавьте компоненты вручную и выложите некоторые изобретенные геттеры и сеттеры для изменения набора элементов управления.
Однако я не могу найти, как это сделать в JavaFX 8? Я полагаю, что это должно быть возможно, но документация либо не продвигается вперед, либо приходит сразу с FXML, в котором я пока не заинтересован.
Если это помогает, это то, что я хочу в одном компоненте:
TextArea textArea = new TextArea();
TextField textField = new TextField();
BorderPane borderPane = new BorderPane();
textArea.setEditable(false);
borderPane.setCenter(textArea);
textField.addEventHandler(KeyEvent.KEY_RELEASED, keyEvent -> {
if (keyEvent.getCode() == KeyCode.ENTER) {
textArea.appendText(textField.getText() + System.lineSeparator());
messages.offer(textField.getText());
textField.clear();
}
});
borderPane.setBottom(textField);
Взгляните на это замечательное видео на Parleyys
Он показывает три варианта:
Видео объясняет большую часть остальных. Удачи!