UN JTEXTPANE NOTICE : JEU DE STYLES PRÉDÉFINIS ET INSERTION TEXTE TRÈS FACILE !

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 15 mai 2007 à 21:04
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012 - 23 juin 2010 à 10:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42704-un-jtextpane-notice-jeu-de-styles-predefinis-et-insertion-texte-tres-facile-avec-l-aimable-aide-de-sheorogath

cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
23 juin 2010 à 10:38
Ouh là : désolé pour le retard. Merci Sheorogath d'avoir laissé ma source :)
till2 Messages postés 11 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 3 juin 2007
3 juin 2007 à 23:53
ok sheorogath, merci
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
3 juin 2007 à 16:35
till2 : http://www.javafr.com/code.aspx?ID=42977

loloof64 : c'est ce que je voulais que tu fasse de ta source ^^ bon je la laisse quand meme je n'ai pas implemente le hightligth
till2 Messages postés 11 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 3 juin 2007
30 mai 2007 à 15:38
Merci c'est sympa ...J'ai testé avec une base de donnée (le champ type OLE, car c'est une base ACCESS mais rien y fait ! je suis bloqué ! ) Donc si t'a un exemple de serialisation ou quelque chose je prend volontier !
Merci
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
30 mai 2007 à 15:35
RTFEditorKit
je te copis un morceau de code dans la soiree si j'y pense :p
till2 Messages postés 11 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 3 juin 2007
30 mai 2007 à 15:31
Savez vous comment sauver le DefaultStyledDocument ? comment enregistrer le texte avec sa mise forme?
Merci
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
22 mai 2007 à 20:28
lol c pas bien dur ^^
tu peux creer une methode qui ajoute du texte tu prends en param un String et qui ajoute en mettant les couleurs et les styles que tu veux ^^
genre :

public void titre(String txt){
setSize(size);
setColor(Color.red);
append(txt);
}
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
21 mai 2007 à 22:58
Il faudrait peut être que je songe à poster mes sources que si elles valent vraiment le coup :(
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
21 mai 2007 à 22:56
Salut Sherogath, tu as peut être remarqué, tu es crédité sur le projet, mais je l'ai tout de même abandonné. En effet, je n'ai pas réussi à établir un mixage efficace entre nos deux codes.
Salut :(
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
17 mai 2007 à 14:11
pour la classe Image oui elle est abstract apres je ne parlais pas de serialisation xml juste de ObjectOutputStream
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
17 mai 2007 à 14:05
A ce propos, 2 questions sur la sérialisation :
--- 1) Est-ce parce que la classe java.awt.Image est abstract , et donc ne constitue pas une JavaBean (cf. Snippet de Neodante sur codyx.org : Sérializer/désérialiser une classe en XML) qu'elle doit être déclarée transient pour pouvoir éviter de générer tout bug ? En est-il de même pour l'interface java.awt.image.ImageObserver ? ( J'ai tant de choses à apprendre, décidément ... :) D'où la nécessité de m'organiser pour ne pas perdre ce que je sais déja ... quels
qu'en soient les délais :( ) .
--- 2) Parles-tu de toutes les sérialisations possibles (prédéfinies comme personnelles) ou juste de la sérialisation à l'aide de java.beans.XMLEncodeur et java.beans.XMLDecodeur ?
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
17 mai 2007 à 12:59
ok pas de probleme
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
17 mai 2007 à 12:58
Merci beaucoup,

dans les prochaines heures ou prochains jour j'adapterais ton code et te créditerais sur ma page de Codes-Sources et dans le fichier Java (les fichiers textes dans les .zip étant jugés inutiles :( :( :( ).
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
16 mai 2007 à 19:12
bien sur avec plaisir faut bien que ca serve :p

transient indique a une variable qu'elle ne dois pas etre serialisé

par exemple si tu fais une classe serialisable qui contient des champ image il faut les declarer transient sinon lors de la serialisation ca declenche un bug
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
16 mai 2007 à 18:46
Salut Sheorogath :)
Je te remercie énormément de m'avoir démontré que je pouvais mieux faire. Serais-tu d'accord pour que je te nomme en crédit du champ Explication Finale et que je reprenne à peu près ton code ? (Je te créditerais même dans le champ le plus important : Description si j'en ai la possibilité).
En fait, c'est quoi la clause "transient" ?
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
15 mai 2007 à 21:04
mieux aurais valu que tu fasses un code permettant de specifier ce que l'on veux comme effet sur un morceau de texte comme je le fais ici (je suis pas sur que cette version sois complete je l'ai recupere sur ma source du package de creation 2D):

package com.daedric.swing;

import java.awt.Color;

import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.EditorKit;
import javax.swing.text.Style;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyleContext;
import javax.swing.text.StyledDocument;

public class DJTextPane extends javax.swing.JTextPane {
/**
*
*/
private static final long serialVersionUID = -8905324578389242069L;

public transient static Style def = StyleContext.getDefaultStyleContext()
.getStyle(StyleContext.DEFAULT_STYLE);

public transient Style style;

public DJTextPane() {
style = addStyle("default", def);
}

public DJTextPane(StyledDocument doc) {
super(doc);
style = addStyle("default", def);
}

public void append(String mess) {
this.appendMess(mess, Color.black);
}

public void appendMess(String s, Color col) {
try {
StyleConstants.setForeground(style, col);
Document doc = getDocument();
doc.insertString(doc.getLength(), s + "\n", getStyle("default"));
setCaretPosition(getDocument().getLength());
} catch (BadLocationException e) {
e.printStackTrace();
}
}

public void setBold(boolean b) {
StyleConstants.setBold(style, b);
this.setCharacterAttributes(style, true);
}

public void setUnderLine(boolean b) {
StyleConstants.setUnderline(style, b);
this.setCharacterAttributes(style, true);
}

public void setSize(int s) {
StyleConstants.setFontSize(style, s);
this.setCharacterAttributes(style, true);
}
public void setStrike(boolean b) {
StyleConstants.setStrikeThrough(style, b);
this.setCharacterAttributes(style, true);
}

public void setItalic(boolean b) {
StyleConstants.setItalic(style, b);
this.setCharacterAttributes(style, true);
}

public boolean isItalic() {
return StyleConstants.isItalic(style);
}

public boolean isBold() {
return StyleConstants.isBold(style);
}

public boolean isUnderLined() {
return StyleConstants.isUnderline(style);
}

public boolean isStrike() {
return StyleConstants.isStrikeThrough(style);
}


}
Rejoignez-nous