begin process at 2008 07 24 19:12:27
1 215 861 membres
416 nouveaux aujourd'hui
14 179 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

JTEXTPANE ETENDU ET FACILITE (LECTURE,ECRITURE RTF),COULEURS,...


Information sur la source

Catégorie :Swing Classé sous : swing, jeditorpane, couleur, rtf, police Niveau : Débutant Date de création : 03/06/2007 Date de mise à jour : 03/06/2007 16:32:18 Vu / téléchargé: 4 894 / 323

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note


Description

Bonjour,
je poste ce code car je m'en sert tres souvent ...
il propose une extension de JTextPane qui facilite l'ajout de texte dans une certaine police ,couleur,taille,ou meme souligne , barre , italique

il y a aussi une methode pour lire un rtf et une pour enregistrer en rtf

par exemple il est presque facile de faire defiler du texte : voir le code plus bas

Source

  • //voici un exemple avec un Thread(methode run) et une methode pour faire un effet de defilement ...
  • //j'avoue que ce n'est pas parfait mais ca donne une bonne idee de la chose :
  • public void run() {
  • try {
  • Thread.sleep(2000);
  • while (true) {
  • txt.setEditable(true);
  • txt.setBlanck(0, title.length);
  • txt.appendWhere(0, "", 12, Color.black);
  • txt.appendWhere(0, move(), 40, Color.red);
  • txt.setEditable(false);
  • txt.repaint();
  • Thread.sleep(1000);
  • }
  • } catch (InterruptedException e) {
  • e.printStackTrace();
  • }
  • }
  • private String move() {
  • String t2[] = new String[title.length];
  • for (int i = 0; i < title.length; i++) {
  • if ((i + 1) < title.length)
  • t2[i] = title[i + 1];
  • else
  • t2[i] = title[0];
  • }
  • StringBuffer str = new StringBuffer();
  • for (int i = 0; i < t2.length; i++)
  • str.append(t2[i]);
  • title = t2;
  • System.out.println(toString(title));
  • return str.toString();
  • }
  • private String toString(String[] t) {
  • StringBuffer str = new StringBuffer();
  • for (int i = 0; i < t.length; i++)
  • str.append(t[i]);
  • return str.toString();
  • }
  • //PS : le texte est dans un tableau de String et dans cet exemple il est fait pour etre au debut
//voici un exemple avec un Thread(methode run) et une methode pour faire un effet de defilement ...
//j'avoue que ce n'est pas parfait mais ca donne une bonne idee de la chose : 

	public void run() {
		try {
			Thread.sleep(2000);
			while (true) {
				txt.setEditable(true);
				txt.setBlanck(0, title.length);
				txt.appendWhere(0, "", 12, Color.black);
				txt.appendWhere(0, move(), 40, Color.red);
				txt.setEditable(false);
				txt.repaint();
				Thread.sleep(1000);
			}
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}

	private String move() {
		String t2[] = new String[title.length];
		for (int i = 0; i < title.length; i++) {
			if ((i + 1) < title.length)
				t2[i] = title[i + 1];
			else
				t2[i] = title[0];
		}
		StringBuffer str = new StringBuffer();
		for (int i = 0; i < t2.length; i++)
			str.append(t2[i]);
		title = t2;
		System.out.println(toString(title));
		return str.toString();
	}
        private String toString(String[] t) {
		StringBuffer str = new StringBuffer();
		for (int i = 0; i < t.length; i++)
			str.append(t[i]);
		return str.toString();
	}
//PS : le texte est dans un tableau de String et dans cet exemple il est fait pour etre au debut
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

03 juin 2007 16:32:18 :
j'ai corriger un truc et ajotue une methode a l'exemple ... a vous de les modifier pour les adapter ...
  • signaler à un administrateur
    Commentaire de loloof64 le 04/06/2007 12:31:52

    :) Salut Sheorogath :)
    Mes félicitations, ton code est super :) Complet et simple d'utilisation, bravo :)
    Ton approche correspond d'avantage à l'esprit Word que l'était la mienne :)
    (10/10)

  • signaler à un administrateur
    Commentaire de sheorogath le 04/06/2007 15:13:33 administrateur CS

    merci , :$ super je sais pas mais utile certainement .. du moins pour moi
    je n'ai pas pris une approche specifique mais j'ai fait de tel maniere a ce que se soit facilement utilisable et modulable pour une application quelconque

  • signaler à un administrateur
    Commentaire de loloof64 le 05/06/2007 12:11:48

    En tous cas, elle est meilleure que la mienne :). Par contre, je sais que l'on peut se débrouiller avec le package java.util de j2se, mais cela aurait été encore mieux si tu mettais une fonction static du genre FontUtil.isAValidFont(String), afin de savoir si une fonte fait partie du système local :) Qu'en penses-tu ? (C'est en ressentant moi-même ce besoin que ce m'est venu à l'esprit)

  • signaler à un administrateur
    Commentaire de sheorogath le 05/06/2007 12:40:57 administrateur CS

    reviosant mon bac j'ai pas trop le temps de voir mais un truc de ce genre doit etre faisable en ajoutant un truc du genre :
    static {
    Vector<String>family = ...
    for(String s : FontUtil.getFamily())
       family.add(s);
    }
    public static boolean isValidFont(String s){
      return family.contains(s);
    }

    et l'utiliser comme ceci :

    if(FontUtil.isValidFont(tafontenstring))txt.setFont(tafontenstring);

    bon je retourne sur ma physique nucleaire et ses emissions plus la decroissance :'(

  • signaler à un administrateur
    Commentaire de sheorogath le 05/06/2007 12:42:38 administrateur CS

    oups :

    static {
    Vector<String>family = ...
    for(String s : getFamily())
       family.add(s);
    }
    public static boolean isValidFont(String s){
      return family.contains(s);
    }

  • signaler à un administrateur
    Commentaire de loloof64 le 05/06/2007 12:52:32

    Merci :)
    Je fais la modif. juste pour moi (je ne m'approprierais pas ton code)

    Je te souhaites bon courage pour ton bac .

  • signaler à un administrateur
    Commentaire de loloof64 le 05/06/2007 12:59:16

    Je laisse tomber, je suis trop nul pour faire la modif.

  • signaler à un administrateur
    Commentaire de bensalah_tarek le 16/06/2007 21:29:00

    je ne trouve pas la methode main dans ton programme DJTextPane.java
    peut tu m'aider

  • signaler à un administrateur
    Commentaire de sheorogath le 16/06/2007 21:45:18 administrateur CS

    normal y en a pas , c'est fait pour etre utilisé ...
    ce n'est pas un programme a proprement parler ...
    c'est fait pour aller dans un programme ...

  • signaler à un administrateur
    Commentaire de bensalah_tarek le 19/06/2007 15:51:50

    vous dite
    c'est fait pour aller dans un programme ...
    comment faire pour l'importer dans une JFrame
                                 respet

  • signaler à un administrateur
    Commentaire de sheorogath le 19/06/2007 15:54:30 administrateur CS

    ben tu le met ou tu veux mais faut changer alors la directive package mais la si tu le met il faut le mettre dans :
    com\daedric\swing

    et importer com.daedric.swing.DJTextPane;

  • signaler à un administrateur
    Commentaire de bensalah_tarek le 19/06/2007 21:06:14

    fot(int i=1;i<1000;i++){
    System.out.println("merci");
                            }

Ajouter un commentaire

Pub



Appels d'offres

Creation portail video
Budget : 3 000€
Site de e-commerce
Budget : 5 000€
Demande de devis pour ...
Budget : 7 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS