JavaFX TextArea如何使用自动换行符设置文本

标签 java javafx textarea

在我的应用程序中,我使用了两个 Tab。在第一个中我放置了一个HtmlEditor,在第二个中我放置了一个TextArea。 HTML 选项卡是默认选项,当用户创建 HTML 输入时,他可以切换到 TextArea 以便直接查看或更改 HTML 源代码。我添加了一个监听器来从 HtmlEditor 获取 htmlText 并将其设置为 TextArea 中的文本,因此用户可以轻松地在 HTML 和源模式。这是我的听众:

@FXML
private Tab htmlTab;

@FXML
private Tab sourceTab;

@FXML
private HTMLEditor htmlEditor;

@FXML
private TextArea textEditor;

        htmlTab.selectedProperty().addListener(new ChangeListener<Boolean>() {
        @Override
        public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
            if (htmlTab.isSelected()) {
                htmlEditor.setHtmlText(textEditor.getText());
            }
        }
    });

    sourceTab.selectedProperty().addListener(new ChangeListener<Boolean>() {
        @Override
        public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
            if (sourceTab.isSelected()) {
                textEditor.setText(htmlEditor.getHtmlText());
            }
        }
    });

它工作正常,但 HtmlEditor 会自动将文本分成几行。当我切换到 TextArea 时,全部在一行中。

我想过制作一个辅助方法,它采用 TextArea 长度属性来计算字符数并每隔“n”个字符添加换行符,但也许有更好的解决方案?

最佳答案

如果您只想换行,请使用

textEditor.setWrapText(true);

关于JavaFX TextArea如何使用自动换行符设置文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35797493/

相关文章:

javafx焦点窗口

JavaFX 9/10 不再可能覆盖 TableView.resizeColumnToFitContent

javascript - 使用 jQuery 分配变量类型时出错

javascript - $ ('textarea' ).rows 扩展/收缩

asp.net-mvc - Html.TextArea 值/文本在页面加载后未更新

java - 您使用什么技术来调试复杂的 guice 绑定(bind)?

java - 理解 JavaBeans 模式(抽象 getter 和 setter)

javafx - 自动调整滚动 Pane 的大小

java - 设置Java环境变量

java - JPopupMenu.setDefaultLightWeightPopupEnabled(false) 不起作用