我写了一个文本编辑器,将文本保存为html。
我对粗体,斜体等样式没有任何问题,我遇到的唯一问题是当我按下回车时它的行为方式。
它不是创建新的法线,而是创建一个额外的间距线。我认为它与<p>
标签有关,但我不确定......
无论如何,这是我的问题的一个例子:
import java.awt.BorderLayout;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.text.html.HTMLEditorKit;
public class test extends JFrame {
public static void main(String[] args){
new test().open();
}
private void open() {
setSize(200, 200);
JEditorPane jp = new JEditorPane();
setLayout(new BorderLayout());
add(jp, BorderLayout.CENTER);
jp.setEditorKit(new HTMLEditorKit());
jp.setText("<html><body><p>hey</p><p>Write in here</p></body></html>");
setVisible(true);
}
}
有没有解决这个问题?
答案 0 :(得分:0)
我认为你试图在呈现HTML之后直接编辑到JEditorPane。 JEditorPane读取您提供的文本,并根据文本附带的HTML标记呈现它。所以,如果你想让你的文本中的某个点有换行符,那么你需要输入一个break标记,如下所示:
public class test extends JFrame
{
public static void main(String[] args){
test t = new test();
t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
t.open();
}
private void open()
{
setSize(200, 200);
JEditorPane jp = new JEditorPane();
jp.setEditable(false);
setLayout(new BorderLayout());
add(jp, BorderLayout.CENTER);
jp.setEditorKit(new HTMLEditorKit());
jp.setText("<html><body><p>hey</p><p>Don't write here.<br>Let JEditor rendor your HTML text. </p></body></html>");
setVisible(true);
}
}
希望这有帮助。