我想在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的任一方法
public 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)