[Java] Chat: Mise en gras

Discussion dans 'Web, design' créé par Angy, 21 Mai 2007.

Statut de la discussion:
Fermée.
  1. Offline
    kokotchY Elite
    L'idée d'une méthode n'est pas mauvaise pour garder la validitée !

    Mais pour bien faire, il faudrait peut-être abstraire encore plus !
    Du genre, au lieu d'afficher directement le code html, tu crées un objet qui le gère pour toi, et toi il te suffit d'utiliser les méthodes :
    chat.addMessage(nickname,message,time);

    Et dans ton objet chat, tu mets à jour la vue du JEditorPane ! En sauvegardant les messages déjà affichés dans une variable.
    Comme ca, dans ton objet chat, il te suffit d'afficher le début (<html>...), les messages déjà envoyé (ta variable) et la fin (</body:colere:/html>).

    Cela sera beaucoup plus propre ;)
    kokotchY, 21 Mai 2007
    #21
  2. Offline
    noLain www.wearewise.be
    J'ai trouvé mieux:

    Code:
    String debut = "<html><body>";
    String fin = "</body></html>";
    
    JEditorPane chatzone = new JEditorPane();
    chatzone.setLayout(null);  
    chatzone.setContentType("text/html");
    chatzone.setText(debut + fin);
    Document doc = textarea.getDocument();
    
    public void append(String chaine){
       // on ajouter la nouvelle chaine dans le document html, avant les balises de fin
       doc.insertString(doc.getLength() - fin.length() , chaine, null);
    }
    edit: je plussoie koko, c'est nettement plus propre de faire comme il dit, ici ce n'est qu'à titre d'exemple :=)
    re-edit: l'ultime solution est d'étendre la classe jeditorpane en une classe "dialoguepane" pour lui rajouter des methodes addMessage, flush, addSystem, etc
    noLain, 21 Mai 2007
    #22
  3. Offline
    Toom Touriste
    surchage = meme nom mais arguments differents ce qui va definir differentes methodes... (en anglais method overloading)

    polymorphisme= une méthode peut prendre en compte plusieurs type d'arguments. cela peut se faire partout ou une classe peut être étendue ou un interface implémentée...
    Toom, 23 Mai 2007
    #23
Statut de la discussion:
Fermée.