interpretação de tags HTML em um JEditorPane

Eu gostaria de passar para um JTextPane um texto que contenha tags html que quando exibidas mostrassem o html já interpretado. lembrando que eu não quero especificar para o JTextPane um arquivo .htm, pois eu quero passar o texto em tempo de programação. por exemplo

quero passar o texto
JTextPane1.setText(" negrito ");

quero o seguinte resultado
negrito

Procure na APi sobre o JEditorPane.

[]s

Estava fuçando classes que resolvesse este seu problema… então montei a classe abaixo:

[quote]
//HTMLEditorKits.java

import javax.swing.;
import java.awt.
;
import java.awt.event.;
import javax.swing.text.
;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTML;
import java.io.IOException;

public class HTMLEditorKits{
HTML html;
HTMLDocument htmlDoc;
HTMLEditorKit htmlEdKit;
JEditorPane edPane;
JFrame frame;

public HTMLEditorKits(){
	htmlEdKit = new HTMLEditorKit();
	htmlDoc = (HTMLDocument) htmlEdKit.createDefaultDocument();
	html = new HTML();
	
	try{
		htmlEdKit.insertHTML(htmlDoc,0,montarString(),0,0,html.getTag("html"));
	}
	catch(IOException ioe){
		JOptionPane.showMessageDialog(null,"Exception: ioe");
	}
	catch(BadLocationException ble){
		JOptionPane.showMessageDialog(null,"Exception: ble");
	};
	
	edPane = new JEditorPane();
	edPane.setBorder(BorderFactory.createLineBorder(Color.yellow));
	edPane.setContentType("text/html");
	edPane.setEditable(false);
	edPane.setEditorKit(htmlEdKit);
	edPane.setDocument(htmlDoc);
	htmlEdKit.install(edPane);
	
	frame = new JFrame("HTMLEditorKits:");
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.getContentPane().setLayout(new GridLayout(1,1));
	frame.getContentPane().add(new JScrollPane(edPane));
	frame.setSize(800,570);
	frame.setLocation(0,0);
	frame.show();
}

private String montarString(){
	String htmlCode = "<html><body bgcolor = \"green\"><center>";
	
	for(int i=0;i<20;i++){
		htmlCode += "&lt;tr&gt;";
		
		for(int j=1;j<=10;j++){
			htmlCode += "&lt;td&gt;" + j + "&lt;/td&gt;";
		};
		
		htmlCode += "&lt;/tr&gt;";
	};
	htmlCode += "&lt;/table&gt;&lt;/center&gt;&lt;/body&gt;&lt;/html&gt;";
	
	return htmlCode;
}

public static void main(String args[]){
	new HTMLEditorKits();
}

}[/quote]

Estude os objetos dessa classe na API! Qualquer coisa “tamos” aqui…! :smiley:

A resposta é:

public JEditorPane testeHtml (String mensagem)
{
JEditorPane teste=new JEditorPane();
teste.setContentType(“text/html”);
teste.setText(message);
return teste;
}

Você deve passar a string da seguinte maneira:
"negrito

O resultado vai ser o esperado.

eu to com um problema parecido, to precisando inserir imagens no meio do texto, eu gerei um metodo que faz um replace procurando o simbolo q se transformará na imagem e alterando-o para uma tag html

acontece q no JEditorPane qdo eu insiro o :smiley: em vez de aparecer a imagem aparece o path :frowning:

file= …

oque eu estou fazendo de errado, ou o JEdtiorPane nao consegue carregar imagens de arquivos?
obrigado :smiley:

Pessoal, estou começando a criar um compilador para a disciplina de mesmo nome e estou começando a criar logo a interface esses dias (na ultima semana antes de começarem as aulas).

Para este compilador eu gostaria de usar o JEditorPane de forma que ele já colocasse a palavra em negrito assim que fosse visto que ela é reservada (se tivesse como criar uma lista de preferência com estas palavras), elas fossem colocadas dinamicamentes em negrito.

Seria a mesma funcionalidade de reconhecimento de sintaxe usado por editores como Gedit e Notepad++ ou IDEs como o NetBeans.

Caso alguem possa me dar um caminho sobre o assunto, agradeceria.

Att. Tácio Andrade.