【发布时间】:2020-09-08 00:26:03
【问题描述】:
当我用setContentType("text/html") 创建一个JEditorPane 并按Enter 编辑文本时,会创建一个新的html 段落(<p style="margin-top: 0">)。有没有办法插入换行符(<br>)而不是那个?
示例如下:
import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setTitle("Text Area");
JEditorPane editor = new JEditorPane();
editor.setContentType("text/html");
Box pane = Box.createVerticalBox();
pane.add(editor);
frame.add(pane);
frame.setSize(500, 500);
frame.addWindowListener(new WindowAdapter()
{
@Override
public void windowClosing(WindowEvent e)
{
System.out.println(editor.getText());
e.getWindow().dispose();
}
});
frame.setVisible(true);
}
}
这是书面文本的输出:
<html>
<head>
</head>
<body>
<p style="margin-top: 0">
First line
</p>
<p style="margin-top: 0">
This is a new line
</p>
</body>
</html>
这就是我想要的:
<html>
<head>
</head>
<body>
<p style="margin-top: 0">
First line<br>
This is a new line
</p>
</body>
</html>
【问题讨论】:
-
编辑者创建
<br>的常用方法是使用[shift]+[enter]。试试吧。 -
谢谢。默认情况下,JEditorPane 无法执行此操作。但是,我可以通过创建一个新操作来解决它。