JTextPane

9 respostas
rochribre

Quando eu obtenho o texto do JTextPane sei que o \n no meio do texto significa quebra de linha como faço para saber como o jTextPane trabalha com o Negrito, italico, fontes etc…

9 Respostas

ONHATE

Desculpa errei de tópico…

ONHATE

Mas aproveitando vou dar uma ajuda…

http://www.exampledepot.com/egs/javax.swing.text/style_HiliteWords2.html
http://www.javaprogrammingforums.com/java-tips-tutorials/39-how-change-jtextarea-font-font-size-color.html

tem tópicos para isso tbm:
com html
http://www.guj.com.br/posts/list/15729.java
negrito
http://www.guj.com.br/posts/list/75122.java

rochribre

Boa, mas não é o que eu quero, vou explicar qual a minha necessidade:

Estou escrevendo todo o texto no contentType=text/plain porem tenho que salvar o arquivo em um bloco de texto formatado em html, por isso quero pegar dados do meu jtextpane e converter em tags html um exemplo é o “/n” onde tem ele eu substituo por
, porem não sei como o jtextpane trabalha para delimitar no texto negrito, italico, cores e é isso que eu queria saber pois assim posso substituir essas delimitações por tags html.

ONHATE

rochribre:
Boa, mas não é o que eu quero, vou explicar qual a minha necessidade:

Estou escrevendo todo o texto no contentType=text/plain porem tenho que salvar o arquivo em um bloco de texto formatado em html, por isso quero pegar dados do meu jtextpane e converter em tags html um exemplo é o “/n” onde tem ele eu substituo por
, porem não sei como o jtextpane trabalha para delimitar no texto negrito, italico, cores e é isso que eu queria saber pois assim posso substituir essas delimitações por tags html.

Cara, então te aconselharia a trabalhar com Document, cria um document um para texto sem html que é o vc vai setar para o textpane, ele seria do tipo text/plain. E cria um conversor do teu document para texto em html. vc passaria para ele um Document, no caso o que vc criou, ele ele retornaria um texto html, ou até mesmo outro document baseado em html.

Aqui tem bastante exemplos de documentos text/plain simples.

http://www.java2s.com/Code/Java/Swing-JFC/TextPaneSample.htm

rochribre

Como faço para encontrar quebra de linha e espaçamento em um Document?

ONHATE

Talvez aqui possa encontrar…
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/Document.html

To meio sem tempo hoje para lhe informar detalhadamente… mas a fonte é garantida =)

waldandrade

Amigo, não sei se entendi sua dúvida. Talvéz se você for um pouco mais claro.

Bem se o que você quer é encontrar separador, ou seja, tabulações, espaços, novas linhas. O que eu te recomendo é estudar a classe Pattern.

Acredito que você saiba alguma voisa sobre expressões regulares. Mas para achar separadores não é necessário ser o tampa.

Uma idéia é fazer o seguinte:

public  final String SP = new Character((char)32).toString();
	public  final String HT = new Character((char)9).toString();
	public  final String VT = new Character((char)11).toString();
	public  final String FF = new Character((char)12).toString();
	public  final String NL = new Character((char)133).toString();
	public  final String LF = new Character((char)10).toString();
	public  final String CR = new Character((char)13).toString();
	
	public  final String BLANK_CHARACTER = SP +"|"+ HT +"|"+ VT +"|"+ FF +"|"+ NL +"|"+ LF +"|"+ CR;

isso constroi uma expressões regular, que pode ser usada pelo método compile da classe Pattern.

Então fica assim:

Pattern p = Pattern.compile(SystemHandler.lotosBook.BLANK_CHARACTER);
Matcher m = p.matcher(text);

Então você usa o método find da classe Matcher.

while(m.find()){
     //m.group() -- String encontrada que bate com a expressão regular
     //m.start() --- Posição inicial da string encontrada dentro do texto
     //m.end() --- Posição final da string encontrada dentro do texto
}
Espero que tenha servido!
rochribre

Sim, Obrigado.

waldandrade

Eu, junto com alguns amigos, temos um blog onde, eventualmente, postamos coisas de bastante utilidade prática. São basicamente mini-tutoriais. Apenas coisas que com certeza, mais cedo, ou mais tarde, você vai ter que utilizar.

Como por exemplo, o último post é sobre envio de e-mail em java.

Entre lá:

http://comunidadecc.blogspot.com/

Criado 2 de setembro de 2009
Ultima resposta 7 de out. de 2009
Respostas 9
Participantes 3