Probleme avec Jpanel - Java - Programmation
Marsh Posté le 27-10-2003 à 15:21:52
Bon alors déjà y a un constructeur pour les combobox qui prend un tableau d'objet, ça ira plus vite
Et puis va voir les tuto ici:
java.sun.com
Il est défini où textArea ?
Marsh Posté le 27-10-2003 à 15:27:58
Oula oula, je suis loin d'avoir le niveau suffisant pour m'en sortir tout seul je pense. Dans quelques mois, je pense que oui, parce que j'ai fait pas mal de C et de PHP. Mais pour le moment, je bloque.
Je me suis mis au java hier soir seulement.
Je reconnais que je ne devrais pas poser ma question maintenant, mais comme je bosse sur un projet qui va intéresser toute la communauté, je me le permet quand même.
J'ai déjà réussi à utiliser le sélecteur de couleur pour insérer un color: la_couleur; dans le textarea. Si j'arrive à maitriser ce problème de liste, je vais pouvoir recréer PARFAITEMENT Topstyle dans JEdit.
Marsh Posté le 27-10-2003 à 15:31:46
Code :
|
il est défini ou prefix ? tu le positionne ou ?
Marsh Posté le 27-10-2003 à 15:35:19
je soupçonne que c'est du bean shell, jme trompe?
Marsh Posté le 27-10-2003 à 15:36:11
Désolé, je me suis trompé en copiant/collant. J'ai édité mon code. (c'est à la fin).
Mais, ça ne change rien au problème, parce que de toutes manières, même si je fais :
Code :
|
ça ne marche pas et SURTOUT le Jpanel ne se ferme pas. C'est incompréhensible parce que pour mon code précédent (le sélecteur de couleur) :
Code :
|
ça marche parfaitement.
Marsh Posté le 27-10-2003 à 15:39:29
the real moins moins a écrit : je soupçonne que c'est du bean shell, jme trompe? |
Non, c'est bien du Bean shell, mais en fait, c'est presque du java avec des classes déjà implémentées. Mais dans le cas du combobox, c'est spécial, parce que justement, il ne semblait pas implémenté au départ.
Hors mon code marche parfaitement, je veux dire : je vois bien le combobox et je peux sélectionner une option dedant, mais pas moyen ensuite de valider mon choix. Le bouton OK réagit, mais rien ne se passe, et le Jpanel reste affiché.
Par contre le cancel marche parfaitement.
Merci de me donner un petit coup de main (d'autant qu'habituellement, je suis moi-même contre ce genre de situation où un gars arrive et n'a pas le niveau suffisant sur un problème donné et compte un peu sur les autres.)
Marsh Posté le 27-10-2003 à 15:40:31
ben pour le coup du bean shell c'etait juste que ça explique que c'est pas toi qui définit textArea et prefix par exemple
Marsh Posté le 27-10-2003 à 15:44:36
Si, prefix, c'est moi. Je pourrait mettre une autre variable à la place. Le textArea non par contre, c'est celui de jEdit.
Mais de toutes manières, j'ai bcp de mal à comprendre pourquoi dans le 2° code (celui du sélecteur de couleur), tout marche parfaitement, et pas dans mon cas. Tout ce que je veux, c'est récupérer le résultat du combobox pour le mettre à l'emplacement du curseur dans le textare.
Dans le cas d'un simple input, j'y arrive déjà sans probleme par exemple.
Marsh Posté le 27-10-2003 à 15:46:48
En fait, ce que je demande, c'est que qqu me donne un petit coup de main pour que je puisse faire cet arbre CSS + XHTML.
Cela permettra par exemple de faire apparaitre des Jpanel pour chaque propriété avec un choix dedant.
Le sélecteur de couleur : c'est rêglé.
Le sélecteur de fichier : aussi.
Le sélecteur input : également.
Il ne me reste plus que ce problème de combobox.
Marsh Posté le 27-10-2003 à 15:47:14
void actionPerformed(e) |
ta methode processText est bien appelée?
Marsh Posté le 27-10-2003 à 15:48:40
the real moins moins a écrit :
|
Justement, c'est la question que je me pose. Comment je pourrais le savoir ?
Le cancel fonctionne parfaitement lui.
Marsh Posté le 27-10-2003 à 15:55:28
Pour ceux qui ont installé jEdit, regardez ce que j'ai réussi à faire :
http://tousleschats.free.fr/hermes [...] insert.xml
Mettez ce fichier dans windows/.jedit
ou documents and settings/[pseudo]/.jedit
Marsh Posté le 27-10-2003 à 15:56:16
ben le cancel fonctionne, c bcp dire, il fait rien
la methode processText elle est definie ou!?
Marsh Posté le 27-10-2003 à 15:56:34
ReplyMarsh Posté le 27-10-2003 à 15:57:04
ben rajoute un System.out.println("pouet" ) dedans
(tu le verras si t'as démarré jedit en console, ou bien dans des logs peut etre)
Marsh Posté le 27-10-2003 à 15:57:18
Ben là :
Code :
|
enfin je crois...
Marsh Posté le 27-10-2003 à 15:58:44
euh , definition de prefixField , et dans prefix c quoi comme objet ?
et la methode setSelectedArea elle prend quoi comme argument..
Marsh Posté le 27-10-2003 à 16:00:43
the real moins moins a écrit : euh , definition de prefixField , et dans prefix c quoi comme objet ? |
Oublies pour l'instant le problème de prefix. C'est surtout que textArea.setSelectedText("coucou" ); ne fonctionne pas non plus. Donc apparemment, il n'arrive pas à processText
C'est ce que j'aimerais comprendre en premier en fait.
Merci pour l'aide en tous cas.
Marsh Posté le 27-10-2003 à 16:20:31
ben le truc c'est que je suis pas convaincu que textArea.setSelectedText("coucou" ); doivent marcher...
c'est quoi comme object textArea??? (bordel)
qd tu sais ça, tu vas mater la javadoc de l'objet en question
Marsh Posté le 27-10-2003 à 16:24:06
selection = textArea.getSelectedText();
textArea.setSelectedText("couc" );
Marche parfaitement.
Si je fais une macro juste avec ces deux lignes, j'ai bien couc dans le textarea de jEdit.
Marsh Posté le 27-10-2003 à 16:25:25
Mieux, si je mets selection = textArea.getSelectedText();
au début du code que j'ai posté au début, ça affiche bien "couc"
Marsh Posté le 27-10-2003 à 16:37:03
bon tu reponds à la question ou tu retournes faire du php hein
Marsh Posté le 27-10-2003 à 16:53:59
the real moins moins a écrit : bon tu reponds à la question ou tu retournes faire du php hein |
textArea - a JEditTextArea is the visible component that displays the file being edited. It is derived from the JComponent class. The variable textArea represents the current JEditTextArea object, which in turn displays the current buffer.
NONNNN, pas le PHP
Marsh Posté le 27-10-2003 à 17:15:18
Bon, oublions aussi ce problème.
Comment récupérer le résultat du click sur OK ou sur cancel en java ?
(PS pour le "prefix", c'est bon en fait : String prefix = (String)prefixField.getSelectedItem(); )
Marsh Posté le 27-10-2003 à 18:56:13
comment ça le RESULTAT?
dans ton cas, qd un click est fait sur un truc ajouté avec comme ActionListener la classe en cours (this), la methode actionPerformed(e) est appelée. le if (e....) est vrai si ce n'est pas le bouton cancel (c'est donc le OK dans ton cas)
Marsh Posté le 27-10-2003 à 18:56:59
http://www.jedit.org/42docs/api/or [...] ng.String)
Replaces the selection at the caret with the specified text. If there is no selection at the caret, the text is inserted at the caret position.
vérifie la position du "caret"
Marsh Posté le 27-10-2003 à 19:08:35
Bon, j'ai tout simplifié à l'extrême :
j'ai ça :
Code :
|
J'ai tout virré, sauf le Jpanel et les deux boutons.
Si maintenant j'ajoute ça :
Code :
|
Le bouton cancel est inactif.
Si à la place j'ai ça :
Code :
|
C'est le bouton OK qui devient inactif
Donc le test est bon.
MAIS, si je mets n'importe quoi avant le dialog.dispose(); comme ça par exemple :
Code :
|
Le bouton Ok n'a plus d'effet. Je veux dire par là qui s'allume si je vais dessus et que je clique dessus. Mais le Jpanel ne se ferme plus...
Je sens que si j'arrive à comprendre ça, le reste ne devrait pas me poser de problème...
Marsh Posté le 27-10-2003 à 20:20:09
Je suis en train d'éditer le message.
textArea.setSelectedText("salut !" ) marche, y compris au sein d'un void, mais le problème, c'est que dès que je le mets là où je l'ai mis, il ne marche plus.
sniff...
Marsh Posté le 27-10-2003 à 20:21:27
the real moins moins a écrit : http://www.jedit.org/42docs/api/or [...] ng.String) |
Marsh Posté le 27-10-2003 à 20:23:12
tu déclares ta variable "test" dans ta classe et non dans ta méthode et elle sera accessible plus tard dans ton instance ?
Marsh Posté le 27-10-2003 à 20:29:00
nraynaud a écrit : tu déclares ta variable "test" dans ta classe et non dans ta méthode et elle sera accessible plus tard dans ton instance ? |
En fait, cette variable était à un moment donné une tentative de récupération du actionPerformed.
Pourquoi ?
Pour ça :
Code :
|
tout seul marche.
Code :
|
marche aussi
Mais
Code :
|
ne marche pas ALORS QUE si je joue avec dialog.dispose, je testes effectivement que je peux voir si OK ou Cancel ont été cliqué.
Marsh Posté le 27-10-2003 à 20:30:20
La preuve :
Code :
Code :
|
Le bouton cancel est inactif.
Si à la place j'ai ça :
Code :
Code :
|
C'est le bouton OK qui devient inactif
Donc le test est bon.
Marsh Posté le 27-10-2003 à 20:53:59
PUTAIN !!!!!!!!!! J'ai trouvé, c'est un problème interne à jEdit.
Il faut faire une MACRO et l'appeler depuis le Xinsert, et le bug disparait !!!!!
Je peux continuer à bosser maintenant... pfffff !!
Marsh Posté le 27-10-2003 à 14:30:32
Alors, d'abord, ne m'incendiez pas trop vite, je débute carrément.
Je suis en train de faire un genre de topstyle dans jEdit.
Quand je clique sur une propriété dans le xinsert, je déclenche l'ouverture d'un Jpanel.
Au départ, ce Jpanel s'appuyait sur un field panel. Or, moi, il me faut un JComboBox pour lister les propriétés à rentrer.
Tout marche parfaitement sauf que :
1) Quand j'appuie sur Entrée ou OK, il ne se passe rien.
2) Quand je clique sur une propriété dans le JComboBoc, LA PREMIERE FOIS, je dois recliquer pour faire disparaitre la liste.
Pourriez-vous me donner un petit coup de main, sachant que c'est pour la bonne cause, et que je suis conscient qu'il faut que j'apprenne réellement le java pour pouvoir faire ce que je veux faire.
Voilà où j'en suis.
Je suis tout étonné d'avoir réussi à aller jusque là, puisqu'il n'y a aucun exemple d'utilisation du JComboBox dans Jedit au niveau des macros.
Message édité par Hermes le Messager le 27-10-2003 à 15:33:52