JavaFX TextArea如何使用自动换行符设置文本
Posted
技术标签:
【中文标题】JavaFX TextArea如何使用自动换行符设置文本【英文标题】:JavaFX TextArea how to set text with automatic new line breaks 【发布时间】:2016-06-18 06:33:42 【问题描述】:在我的应用程序中,我使用了两个Tab
s。在第一个中我放置了一个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 小时的研究,很简单 :) 非常感谢!这就是我要找的东西!
【参考方案1】:
如果您只想换行,请使用
textEditor.setWrapText(true);
【讨论】:
以上是关于JavaFX TextArea如何使用自动换行符设置文本的主要内容,如果未能解决你的问题,请参考以下文章
如何将自动换行添加到 EditorGUILayout.TextArea?
如何在 setText 之后滚动 JavaFX TextArea