jTextPane - kolorowanie podczas dodawania

Odpowiedz Nowy wątek
2011-08-05 14:01
0

Witam. Przygotowalem prosty komunikator po tcp, jednak mam problem przez ktory nie udalo mi sie przebrnac. Kiedy 1 osoba pisze do drugiej, wiadomosci od obu sa w tym samym kolorze. Mam za zadanie zrobic tak, zeby jedne z tych wiadomosci (niewazne czy przychodzace czy wychodzace) wyswietalaly sie w kolorze. Oknem rozmowy jest jTextPane. Oto fragment kodu:
Odbior wiadomosci:

    public void receiveMessage(PakietMessage pm) {
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
        String msgCzas = sdf.format(new Date(pm.getTime()));
        this.newChat=false;
        if (rozmowaSB.length() != 0) {
            rozmowaSB.append("\n");
        }
        rozmowaSB.append(odbiorcaLogin);
        rozmowaSB.append(" (");
        rozmowaSB.append(msgCzas);
        rozmowaSB.append(")\n");
        rozmowaSB.append(pm.getMessage());
 
        jtpRozmowa.setText(rozmowaSB.toString());
        jtpRozmowa.updateUI();
        int maxscroll = jScrollPane2.getVerticalScrollBar().getMaximum();
        jScrollPane2.getVerticalScrollBar().setValue(maxscroll);
    } 

rozmowaSB to StringBuilder.

Analogicznie dla wysylania, ale powiedzmy ze skupimy sie na tym. Zeby nie bylo niejasnosci - chce zeby nowo dodana wiadomosc (obecnie w setText) wyswietlila sie w oknie w kolorze (lub na stale podswietlona itp), i zeby przy odbiorze/wyslaniu kolejnych wiadomosci to pokolorowanie nie zniknelo. Czy jest to w ogole mozliwe (bez jakis niesamowitych komplikacji)? Moze ktos mi pomoc z tym? Programista ze mnie jak z koziego tylka saksofon wiec im prostszy pomysl tym lepszy ;p Przydalaby sie opcja w dodawania koloru w StringBuilderze ^^
Z gory dzieki za pomoc

Pozostało 580 znaków

2011-08-05 23:41
Highlighter
0

Do podświetlania textu używa się klasy highlighter - nie jest to trudne.

Pozostało 580 znaków

2011-08-06 11:53
0

Jak dla kogo ;p przyznam sie ze nie mam pojecia jak tego uzyc ;p jedyne przyklady jakie znalazlem pozwalaly na podswietlanie tekstu kiedy zaznaczylem go myszka, a mi potrzebne jest stale zaznaczenie okreslonych znakow w panelu, ktore nie znika przy wczytaniu nastepnej wiadomosci ;p

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0