如何在JavaFX 8中创建自定义组件?

时间:2014-06-01 11:20:40

标签: java javafx javafx-8

在Swing中,可以通过扩展JComponent(或JPanel)来创建自定义组件(纯粹在代码中),给它一个布局,然后手动添加组件并公开一些发明的getter和setter修改控件集。

但是我无法在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);

1 个答案:

答案 0 :(得分:0)

看看这个伟大的video on Parleys

它显示了三个选项:

  • 如果控件已经存在但只需要看起来不同,只需使用自定义CSS
  • 扩展布局容器,例如Region(Java编码)
  • 扩展控制(Java编码)(适合制作库)

该视频解释了其余的大部分内容。祝你好运!