5
在我的應用程序中,我使用了兩個Tabs。在第一次我放置了HtmlEditor,在第二次放置了TextArea。 HTML標籤是默認的,當用戶創建HTML輸入時,他可以切換到TextArea直接查看/更改HTML源代碼。我添加了一個監聽器來從HTML編輯器獲取htmlText,並將其設置爲TextArea中的文本,因此用戶可以輕鬆地在HTML和源模式之間切換。這裏是我的聽衆:JavaFX TextArea如何使用自動換行符設置文本
@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(真);'? –
2小時的研究,它非常簡單:)非常感謝!這就是我一直在尋找的! – RichardK