我想在JEditorPane中显示可点击链接列表.
这是我的代码:
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.Style;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.StyleSheet;
public class GUI extends JFrame{
JEditorPane editorpane=new JEditorPane();
//this is the constructor
GUI(){
JFrame frame=new JFrame("Frame");
frame.add(editorpane);
JScrollPane scroll=new JScrollPane(editorpane);
editorpane.setContentType("text/html");
editorpane.setEditable(false);
editorpane.setText("SEOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(scroll);
frame.show();
}
public void append(String s) {
try{
Document doc = editorpane.getDocument();
doc.insertString(doc.getLength(),"\n",null);
doc.insertString(doc.getLength(),s,null);
}
catch(BadLocationException exc){
}
}
//main method
public static void main(String args[]){
GUI gui=new GUI();
gui.append("
它显示了一个可点击的链接,当我在构造函数中使用setText()方法时,但是当我尝试使用append()显示其他链接时方法它显示html标签以及文本,它不会使我的网址成为超链接.任何想法,为什么它不兼容追加?
最佳答案
使用HTMLEditorKit的任一方法
原文链接:https://www.f2er.com/java/438087.htmlpublic void insertHTML(HTMLDocument doc,int offset,String html,int popDepth,int pushDepth,HTML.Tag insertTag)
或者HTMLDocument的方法
public void insertAfterEnd(Element elem,String htmlText)
public void insertAfterStart(Element elem,String htmlText)
public void insertBeforeStart(Element elem,String htmlText
public void insertBeforeEnd(Element elem,String htmlText)