| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2003 10:34:37
|
Leandro Rangel Santos
JavaGuru
![[Avatar]](/images/avatar/c8d954c0405ad220d7fdd.jpg)
Membro desde: 07/07/2003 19:52:02
Mensagens: 214
Localização: Salvador
Offline
|
alquem sabe como eu coloco um texto colorido num JTextArea ?
|
Leandro Rangel Santos
Sun Certified Programmer for the java 2 Platform 1.4
Sun Certified Web Component Developer for the J2EE 1.3
Sun Certified Bussines Component Developer for J2EE 1.3 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/10/2003 00:33:33
|
Ironlynx
Moderador
![[Avatar]](/images/avatar/93d65641ff3f1586614cf2c1ad240b6c.jpg)
Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline
|
Uma única cor ou múltiplas cores?
Com uma única cor vc pode usar um setForeground() ;
se vc precisar de um texto multicolorido,acho q com JTextArea não dá...
...pois só suporta um único tipo de fonte/cor de texto!
Use um JEditorPane ou JTextPane q vc obterá bons resultados!
dica: Displaying Text In Multiple Styles
http://developer.java.sun.com/developer/JDCTechTips/2002/tt0821.html
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/09/2004 17:01:40
|
ivanio
Smalltalk
Membro desde: 06/09/2004 16:57:37
Mensagens: 2
Offline
|
Teste:
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
public class Multi {
public static void main(String args[]) {
JFrame frame = new JFrame("Multiplas cores no texto");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container content = frame.getContentPane();
JTextPane pane = new JTextPane();
JScrollPane scrollPane = new JScrollPane(pane);
content.add(scrollPane, BorderLayout.CENTER);
// Inserindo palavras com cores
insertWordColor(pane,"teste",Color.RED);
insertWordColor(pane,"teste",Color.BLUE);
insertWordColor(pane,"teste",Color.darkGray);
insertWordColor(pane,"teste",Color.ORANGE);
insertWordColor(pane,"teste",Color.LIGHT_GRAY);
insertWordColor(pane,"teste",Color.PINK);
insertWordColor(pane,"teste",Color.RED);
insertWordColor(pane,"teste"+" ",Color.BLUE);
// " " para pular para próxima linha
// Inserindo palavras sem cor
insertWord(pane,"Estou testando sem cor"+" ");
// Inserindo palavras com um estilo definido
// Definindo o estilo de impressao
SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setItalic(set, true);
StyleConstants.setForeground(set, Color.BLACK);
StyleConstants.setBackground(set, Color.YELLOW);
// Inserindo palavra com estilo definido
insertStyleWord(pane, "Testando com um style set", set);
frame.setSize(300, 200);
frame.show();
}
// Método para inserir uma palavra ou texto sem cor (preto)
public static void insertWord(JTextPane pane, String palavra){
SimpleAttributeSet set = new SimpleAttributeSet();
//StyleConstants.setForeground(set, Color.BLACK);
Document doc = pane.getStyledDocument();
try {
doc.insertString(doc.getLength()," "+palavra, set);
} catch (BadLocationException e) {
System.err.println("Bad location");
return;
}
}
// Método para inserir uma palavra ou texto com cor (preto)
public static void insertWordColor(JTextPane pane, String palavra,Color corword){
SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setForeground(set, corword);
Document doc = pane.getStyledDocument();
try {
doc.insertString(doc.getLength()," "+palavra, set);
StyleConstants.setForeground(set, Color.BLACK);
} catch (BadLocationException e) {
System.err.println("Bad location");
return;
}
}
// Método para inserir uma palavra ou texto usando style set
public static void insertStyleWord(JTextPane pane, String palavra, SimpleAttributeSet set){
Document doc = pane.getStyledDocument();
try {
doc.insertString(doc.getLength()," "+palavra, set);
StyleConstants.setForeground(set, Color.BLACK);
} catch (BadLocationException e) {
System.err.println("Bad location");
return;
}
}
}
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/09/2004 19:01:54
|
ivanio
Smalltalk
Membro desde: 06/09/2004 16:57:37
Mensagens: 2
Offline
|
Para ficar melhor, sobrecarreguei os métodos ( o que dá na mesma no final):
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
public class Multi {
public static void main(String args[]) {
JFrame frame = new JFrame("Multiplas cores no texto");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container content = frame.getContentPane();
JTextPane pane = new JTextPane();
JScrollPane scrollPane = new JScrollPane(pane);
content.add(scrollPane, BorderLayout.CENTER);
// Inserindo palavras com cores
insertWord(pane,"teste",Color.RED);
insertWord(pane,"teste",Color.BLUE);
insertWord(pane,"teste",Color.darkGray);
insertWord(pane,"teste",Color.ORANGE);
insertWord(pane,"teste",Color.LIGHT_GRAY);
insertWord(pane,"teste",Color.PINK);
insertWord(pane,"teste",Color.RED);
insertWord(pane,"teste"+" ",Color.BLUE);
// " " para pular para próxima linha
// Inserindo palavras sem cor
insertWord(pane,"Estou testando sem cor"+" ");
// Inserindo palavras com um estilo definido
// Definindo o estilo de impressao
SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setItalic(set, true);
StyleConstants.setForeground(set, Color.BLACK);
StyleConstants.setBackground(set, Color.YELLOW);
// Inserindo palavra com estilo definido
insertWord(pane, "Testando com um style set", set);
frame.setSize(300, 200);
frame.show();
}
// Método para inserir uma palavra ou texto sem cor (preto)
public static void insertWord(JTextPane pane, String palavra){
SimpleAttributeSet set = new SimpleAttributeSet();
//StyleConstants.setForeground(set, Color.BLACK);
Document doc = pane.getStyledDocument();
try {
doc.insertString(doc.getLength()," "+palavra, set);
} catch (BadLocationException e) {
System.err.println("Bad location");
return;
}
}
// Método para inserir uma palavra ou texto com cor (preto)
public static void insertWord(JTextPane pane, String palavra,Color corword){
SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setForeground(set, corword);
Document doc = pane.getStyledDocument();
try {
doc.insertString(doc.getLength()," "+palavra, set);
StyleConstants.setForeground(set, Color.BLACK);
} catch (BadLocationException e) {
System.err.println("Bad location");
return;
}
}
// Método para inserir uma palavra ou texto usando style set
public static void insertWord(JTextPane pane, String palavra, SimpleAttributeSet set){
Document doc = pane.getStyledDocument();
try {
doc.insertString(doc.getLength()," "+palavra, set);
StyleConstants.setForeground(set, Color.BLACK);
} catch (BadLocationException e) {
System.err.println("Bad location");
return;
}
}
}
|
|
|
 |
|
|
|
|