我在java中创建一个文本编辑器,将文本保存为html,但显示为纯文本给用户。用户可以更改文本的颜色,对齐方式和样式(粗体和下划线)。整个文本正文以html形式存储在数据库中,以便保存样式调整。我遇到的问题是换行未被保存。因此,当用户输入文本时,按Enter键并将文本放在新行上,保存并重新显示后,所有文本都将放在一行上。所有文本都被放在段落标记内,没有任何换行符。我想知道是否有办法让文本编辑器自动为新行插入换行符?
我的编辑器设置方式是使用HTMLEditorKit的JTextPane,内容类型设置为text / html。我正在使用StyledEditorKit操作来更改文本的颜色和样式(粗体,下划线)以及StyleConstants.setAlignment以更改文本对齐方式(我在StyledEditorKit.AlignmentAction中遇到了一些问题)。如果您需要任何特定的源代码,请告诉我。
答案 0 :(得分:0)
尝试将文本封装在html< p> tag - 它应该保持换行符。
答案 1 :(得分:0)
我认为此套件有关键事件?假设您有一个KeyEvent处理程序,您应该能够执行以下操作:
if(e.getKeyCode() == KeyCodes.KEY_ENTER){
editor.Text += "<br />";
}