Jtextarea detection/indentation automatique
Fermé
Senkai
Messages postés
21
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
24 mai 2014
-
31 oct. 2012 à 16:36
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 - 16 nov. 2012 à 14:58
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 - 16 nov. 2012 à 14:58
A voir également:
- Jtextarea detection/indentation automatique
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Message automatique thunderbird - Guide
- Detection materiel pc - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Gmail libellé automatique - Guide
7 réponses
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
Modifié par Heliotte le 1/11/2012 à 15:38
Modifié par Heliotte le 1/11/2012 à 15:38
Tu remplace le moment où tu vérifies le début de chaine avec une des balises (du tableau, d'un fichier texte, d'une table de base de données) par:
Vérifier si BALISE existe dans CHAINE
Et comme ce genre de vérification est plus long, avant l'utilisation de la "jtextarea", tu mets toutes les balises du fichier en mémoire (dans un tableau à parcourir, ligne par ligne)
Vérifier si BALISE existe dans CHAINE
Et comme ce genre de vérification est plus long, avant l'utilisation de la "jtextarea", tu mets toutes les balises du fichier en mémoire (dans un tableau à parcourir, ligne par ligne)
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
1 nov. 2012 à 08:24
1 nov. 2012 à 08:24
Bonjour Senkai,
Un truc de genre ?
Mettre un évènement sur ta "jtextarea", dans lequel tu lui dit:
Un truc de genre ?
Mettre un évènement sur ta "jtextarea", dans lequel tu lui dit:
SI le dernier caractère entré est un "ENTER" (retour de ligne), ALORS vérifie si le début de ligne correspond à une balise que tu trouves dans le fichier (ou tableau = plus rapide) SI VRAI ....Indentation=Indentation+1 "jtextarea"="jtextarea"+indentation+dernière ligne de texte ....Sortir de la procédure SI FAUX ....tu sort de la procédure
Senkai
Messages postés
21
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
24 mai 2014
6
1 nov. 2012 à 14:21
1 nov. 2012 à 14:21
Oui c'est a peu ça, sauf que la balise ne se trouve pas forcément en début de ligne.
Senkai
Messages postés
21
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
24 mai 2014
6
2 nov. 2012 à 15:30
2 nov. 2012 à 15:30
Avec string.contains c'est ca?
Sinon, comment fait on pour récupérer une ligne précise d'un jtextarea?
Sinon, comment fait on pour récupérer une ligne précise d'un jtextarea?
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
Modifié par Heliotte le 2/11/2012 à 16:22
Modifié par Heliotte le 2/11/2012 à 16:22
Il faut récupérer l'ensemble du texte, et lire .. ligne par ligne
Senkai
Messages postés
21
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
24 mai 2014
6
3 nov. 2012 à 15:18
3 nov. 2012 à 15:18
Ok merci d'avoir répondu je vais essayer de me débrouiller seul maintenant.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Senkai
Messages postés
21
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
24 mai 2014
6
3 nov. 2012 à 22:08
3 nov. 2012 à 22:08
Juste une dernière chose j'aimerai savoir a quel evenement pour le keylistener correspond l'appui sur les touches shift et "<".
Pour shift je sais que c'est KeyEvent.SHIFT_DOWN_MASK mais pour l'autre aucune idée.
D'ailleurs il n'existe pas un endroit ou je pourrait voir à quel évènement correspond chaque touche?
Pour shift je sais que c'est KeyEvent.SHIFT_DOWN_MASK mais pour l'autre aucune idée.
D'ailleurs il n'existe pas un endroit ou je pourrait voir à quel évènement correspond chaque touche?
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
3 nov. 2012 à 22:59
3 nov. 2012 à 22:59
D'ailleurs il n'existe pas un endroit ou je pourrait voir à quel évènement correspond chaque touche?
Il suffit de demander :
https://docs.oracle.com/javase/6/docs/api/java/awt/event/KeyEvent.html
Il suffit de demander :
https://docs.oracle.com/javase/6/docs/api/java/awt/event/KeyEvent.html
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
3 nov. 2012 à 23:00
3 nov. 2012 à 23:00
Penses à mettre "résolu"
Senkai
Messages postés
21
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
24 mai 2014
6
3 nov. 2012 à 23:44
3 nov. 2012 à 23:44
Super, merci.
Senkai
Messages postés
21
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
24 mai 2014
6
4 nov. 2012 à 04:37
4 nov. 2012 à 04:37
Ah non en fait j'arrive toujours pas à voir la touche que je recherche, vu que je connais pas son équivalent anglais.
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
4 nov. 2012 à 11:46
4 nov. 2012 à 11:46
Là je ne peux pas t'aider, désolé !
Senkai
Messages postés
21
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
24 mai 2014
6
16 nov. 2012 à 11:42
16 nov. 2012 à 11:42
ReBonjour,
Donc pour résoudre mon problème, j'ai mis toutes les balises dans un tableau et pour chaque ligne j'ai une fonction incrementation (qui prend une ligne en argument) qui ressemble à ca
sachant que decrementation contient ca:
Ca fonctionne assez bien sauf qu'il y a plusieurs problèmes avec la première fonction.
- Le premier c'est que j'aimerai savoir l'ordre dans lequel apparaissent les strings trouvés dans le texte (avec la pile), alors que là je peux seulement recuperer l'ordre dans lequelles ils apparaissent dans le tableau (si une ligne contient plusieurs balises).
- Le second c'est que la méthode est trop complexe, étant donné qu'on doit reparcourir la ligne à chaque case du tableau, et j'aimerai avoir à le faire qu'une seule fois, si possible.
Bref j'aimerai savoir s'il n y a pas une méthode plus efficace pour faire ce que j'ai décrit.
Merci
Configuration: Windows 7 / Firefox 16.0
Donc pour résoudre mon problème, j'ai mis toutes les balises dans un tableau et pour chaque ligne j'ai une fonction incrementation (qui prend une ligne en argument) qui ressemble à ca
for (int i = 0 ; i < tableaulength ; i++){ if (ligne.contains(tableau[i])){ // Met la balise dans une pile (si elle n y est pas déjà) et incrémente la variable indentation } decrementation(ligne) } }
sachant que decrementation contient ca:
if(!pile.empty()){ String balisefermante = "</" + pile.peek() + ">"; if (ligne.contains(balisefermante)){ //On retire la balise de la pile et on décrémente indentation } decrementation(ligne);
Ca fonctionne assez bien sauf qu'il y a plusieurs problèmes avec la première fonction.
- Le premier c'est que j'aimerai savoir l'ordre dans lequel apparaissent les strings trouvés dans le texte (avec la pile), alors que là je peux seulement recuperer l'ordre dans lequelles ils apparaissent dans le tableau (si une ligne contient plusieurs balises).
- Le second c'est que la méthode est trop complexe, étant donné qu'on doit reparcourir la ligne à chaque case du tableau, et j'aimerai avoir à le faire qu'une seule fois, si possible.
Bref j'aimerai savoir s'il n y a pas une méthode plus efficace pour faire ce que j'ai décrit.
Merci
Configuration: Windows 7 / Firefox 16.0
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
16 nov. 2012 à 11:57
16 nov. 2012 à 11:57
Crée un nouveau post.
Après 2 semaines, c'est préférables si tu veux avoir des réponses
Après 2 semaines, c'est préférables si tu veux avoir des réponses
Senkai
Messages postés
21
Date d'inscription
mercredi 31 octobre 2012
Statut
Membre
Dernière intervention
24 mai 2014
6
16 nov. 2012 à 12:19
16 nov. 2012 à 12:19
Ok j'ai hesité à le faire, je pensais qu'on me demanderai de continuer sur celui là. Je vais donc attendre un peu avant de créer un nouveau sujet.
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
16 nov. 2012 à 14:58
16 nov. 2012 à 14:58
ok,bon week-end Senkai