【问题标题】:JavaFX TextArea how to set text with automatic new line breaksJavaFX TextArea如何使用自动换行符设置文本
【发布时间】:2016-06-18 06:33:42
【问题描述】:

在我的应用程序中,我使用了两个Tabs。在第一个中我放置了一个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);吗?
  • 2 小时的研究,很简单 :) 非常感谢!这就是我要找的东西!

标签: java javafx textarea


【解决方案1】:

如果您只想换行,请使用

textEditor.setWrapText(true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多