Java5 (Ex-Member)
Rookie
Messaggi: 23
Iscritto: 19/10/2009
|
Ciao a tutti
ho inserito nella mia chat una jTextPane per la visualizzazione dei messaggi inviati dai vari utenti.
Ho decisco di creare una classe per accentrare l'intera gestione del testo (ex: grassetto, allineamento, italic e gestione colore) ed eventuali icone.
Funziona tutto tranne che il backGroundColor.
Vi posto la classe che ho fatto:
Codice sorgente - presumibilmente Java |
import java.awt.*; import javax.swing.*; import javax.swing.text.*; super(); //setto colore ForeGround, colore BackGround and Bold if (bold) { } if (italic) { } //setto Allineamento if (align=="C") { }else if (align=="SX") { }else if (align=="DX") { }else if (align=="GS") { } styleDoc.setParagraphAttributes(0, styleDoc.getLength(), this, false); //Setto imageIcon } }
|
All'interno della mia GUI, ho poi implementato un metodo: "InviaMsg" che istanzia un oggetto della classe di cui sopra e gli passa tutti i parametri necessari per la gestione del testo.
Codice sorgente - presumibilmente Java |
try { StyledTextAttrMsg attr=new StyledTextAttrMsg(styleDoc,txtColorForeground,txtColorBackground,bold,italic,align,icon); styleDoc.insertString(styleDoc.getLength(), txtMsg, attr); styleDoc.insertString(styleDoc.getLength(), "\n", null); jTP_Chat1.setDocument(styleDoc); e.getMessage(); } }
|
che richiamo in qs modo:
Codice sorgente - presumibilmente Java |
inviaMsg (jTxtF_Msg. getText(), Color. BLACK, Color. BLUE, true, true, "SX", "G:/Programmazione/Java/Miei Programmi/SimpleChat/imgs/Emo1.gif");
|
Praticamente tutti gli argomenti vengono passati correttamente alla classe ed il testo + icona vengono posizionati, colorati etc correttamente! L'unica cosa che non riesco a fare č quella di evidenziare il testo attraverso il paramento "txtColorBackground"
Dove sbaglio???
Grazie mille.
Ultima modifica effettuata da Java5 il 09/09/2010 alle 10:16 |