Java 使用编辑窗格编辑html文本
我编写了一个文本编辑器,将文本保存为html 我对粗体、斜体等样式没有问题,唯一的问题是当我按enter键时它的行为方式。 它不创建新的法线,而是创建一条额外的间隔线。我认为这与Java 使用编辑窗格编辑html文本,java,html,swing,jeditorpane,Java,Html,Swing,Jeditorpane,我编写了一个文本编辑器,将文本保存为html 我对粗体、斜体等样式没有问题,唯一的问题是当我按enter键时它的行为方式。 它不创建新的法线,而是创建一条额外的间隔线。我认为这与标记有关,但我不确定。。。 无论如何,这里有一个我的问题的例子: import java.awt.BorderLayout; import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.swing.text.html.HTMLEditor
标记有关,但我不确定。。。
无论如何,这里有一个我的问题的例子:
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);
}
}
导入java.awt.BorderLayout;
导入javax.swing.JEditorPane;
导入javax.swing.JFrame;
导入javax.swing.text.html.HTMLEditorKit;
公共类测试扩展了JFrame{
公共静态void main(字符串[]args){
新测试().open();
}
私隐无效公开(){
设置大小(200200);
JEditorPane jp=新的JEditorPane();
setLayout(新的BorderLayout());
添加(jp,BorderLayout.CENTER);
jp.setEditorKit(新的HTMLEditorKit());
jp.setText(“嘿在这里写””;
setVisible(真);
}
}
有什么办法可以解决这个问题吗?我想你是想在JEditorPane呈现HTML后直接编辑它。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);
}
}
公共类测试扩展JFrame
{
公共静态void main(字符串[]args){
测试t=新测试();
t、 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
t、 open();
}
私隐无效公开()
{
设置大小(200200);
JEditorPane jp=新的JEditorPane();
jp.setEditable(false);
setLayout(新的BorderLayout());
添加(jp,BorderLayout.CENTER);
jp.setEditorKit(新的HTMLEditorKit());
jp.setText(hey不要在这里写。
让JEditor来翻译你的HTML文本。”;
setVisible(真);
}
}
希望这能有所帮助。你能在处理关键事件的地方发布代码吗?@JuanManuel我没有任何处理关键事件的代码:/看看
HTMLDocumentEditor
,引用。谢谢你的回答,但这实际上并没有回答问题。。。JEditorPane旨在让用户编辑HTML文件的文本(每个示例),而不仅仅是查看它。