Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Xavier Tarrago
On ne peut pas mettre un Component dans plusieurs Containers. En effet, le Component garde une référence sur son père pour diverses raisons.
La solution pour avoir plusieurs menus identiques est l'Action (cf AbstractAction). On peut mettre une Action dans un menu ou un bouton. Une Action a (optionnellement) un label et iune icône. Elle peut être active ou non. Les menus gardent un lien avec l'Action, et les changements sur l'Action sont visibles dans tous les menus ou boutons.
Exemple: Une Action fermerFichier sera attachée à une entrée du menu et à un bouton de toolbox. Les deux actions de l'utilisateur (menu ou bouton) entrînent l'exécution de la méthode actionPerformed de l'Action. Si l'Action est désactivée, l'entrée du menu et le bouton deviendront tous les deux inactifs, ...
"remy" a écrit dans le message de news:417372e6$0$7189$
bonjour il doit y avoir surement une raison valable mais pourquoi je ne peux pas mettre de pointeur ref obj identique dans un obj container
parce que mon nouveau type de menu avec lien dynamique il a comme un pb :-) j'ai des menus qui disparaissent
public class test { public static void main(String args[]) { JButton s=new JButton(); Vector v=new Vector (); v.add(s); v.add(s); System.out.println(v.size()); Container c=new Container(); c.add(s); c.add(s); System.out.println(c.getComponentCount()); } }
sortie ecran 2 1
merci a+ remy
On ne peut pas mettre un Component dans plusieurs Containers. En effet, le
Component garde une référence sur son père pour diverses raisons.
La solution pour avoir plusieurs menus identiques est l'Action (cf
AbstractAction). On peut mettre une Action dans un menu ou un bouton. Une
Action a (optionnellement) un label et iune icône. Elle peut être active ou
non. Les menus gardent un lien avec l'Action, et les changements sur
l'Action sont visibles dans tous les menus ou boutons.
Exemple: Une Action fermerFichier sera attachée à une entrée du menu et à un
bouton de toolbox. Les deux actions de l'utilisateur (menu ou bouton)
entrînent l'exécution de la méthode actionPerformed de l'Action. Si l'Action
est désactivée, l'entrée du menu et le bouton deviendront tous les deux
inactifs, ...
"remy" <remy@fctpas.fr> a écrit dans le message de
news:417372e6$0$7189$8fcfb975@news.wanadoo.fr...
bonjour
il doit y avoir surement une raison valable mais pourquoi je ne peux pas
mettre de
pointeur ref obj identique dans un obj container
parce que mon nouveau type de menu avec lien dynamique
il a comme un pb :-) j'ai des menus qui disparaissent
On ne peut pas mettre un Component dans plusieurs Containers. En effet, le Component garde une référence sur son père pour diverses raisons.
La solution pour avoir plusieurs menus identiques est l'Action (cf AbstractAction). On peut mettre une Action dans un menu ou un bouton. Une Action a (optionnellement) un label et iune icône. Elle peut être active ou non. Les menus gardent un lien avec l'Action, et les changements sur l'Action sont visibles dans tous les menus ou boutons.
Exemple: Une Action fermerFichier sera attachée à une entrée du menu et à un bouton de toolbox. Les deux actions de l'utilisateur (menu ou bouton) entrînent l'exécution de la méthode actionPerformed de l'Action. Si l'Action est désactivée, l'entrée du menu et le bouton deviendront tous les deux inactifs, ...
"remy" a écrit dans le message de news:417372e6$0$7189$
bonjour il doit y avoir surement une raison valable mais pourquoi je ne peux pas mettre de pointeur ref obj identique dans un obj container
parce que mon nouveau type de menu avec lien dynamique il a comme un pb :-) j'ai des menus qui disparaissent
public class test { public static void main(String args[]) { JButton s=new JButton(); Vector v=new Vector (); v.add(s); v.add(s); System.out.println(v.size()); Container c=new Container(); c.add(s); c.add(s); System.out.println(c.getComponentCount()); } }
sortie ecran 2 1
merci a+ remy
Je pense que quand tu fais v.add(s) tu ne crées pas de "copie" de ton objet s. Tu as mis donc deux références vers le même objets dans le même vecteur. Celà ne gène pas le vecteur, qui compte bien deux elements. En revanche peut etre qu'il n'est pas possible d'ajouter deux fois le même objet (même référence mémoire) dans un container.
Thibaut
remy wrote:
bonjour
il doit y avoir surement une raison valable mais pourquoi je ne peux pas
mettre de
pointeur ref obj identique dans un obj container
parce que mon nouveau type de menu avec lien dynamique
il a comme un pb :-) j'ai des menus qui disparaissent
public class test
{
public static void main(String args[])
{
JButton s=new JButton();
Vector v=new Vector ();
v.add(s);
v.add(s);
System.out.println(v.size());
Container c=new Container();
c.add(s);
c.add(s);
System.out.println(c.getComponentCount());
}
}
sortie ecran
2
1
merci a+ remy
Je pense que quand tu fais v.add(s) tu ne crées pas de "copie" de ton
objet s. Tu as mis donc deux références vers le même objets dans le même
vecteur. Celà ne gène pas le vecteur, qui compte bien deux elements.
En revanche peut etre qu'il n'est pas possible d'ajouter deux fois le
même objet (même référence mémoire) dans un container.
public class test { public static void main(String args[]) { JButton s=new JButton(); Vector v=new Vector (); v.add(s); v.add(s); System.out.println(v.size()); Container c=new Container(); c.add(s); c.add(s); System.out.println(c.getComponentCount()); } }
sortie ecran 2 1
merci a+ remy
Je pense que quand tu fais v.add(s) tu ne crées pas de "copie" de ton objet s. Tu as mis donc deux références vers le même objets dans le même vecteur. Celà ne gène pas le vecteur, qui compte bien deux elements. En revanche peut etre qu'il n'est pas possible d'ajouter deux fois le même objet (même référence mémoire) dans un container.
Thibaut
remy
merci
mais ce n'est pas vraiment cela que je veux faire le but du jeu c'est de creer un rappel du menu "click" en gros
teste le code que j'ai poste un peu plus bas et imagine que ton menu n'a pas disparu
Re: bigo nouveau type de menu code sous GPL dans le fil un solution simple ?
pour que cette solution soit exploitable l'on peut tout faire sauf toucher aux obj MenuItem les actions peuvent etre utilisees par celui qui a code le programme la seule solution que je voie c'est d'encapsuler l'obj JmenuItem mais c'est lourd a coder
merci a+ remy
merci
mais ce n'est pas vraiment cela que je veux faire
le but du jeu c'est de creer un rappel du menu "click"
en gros
teste le code que j'ai poste un peu plus bas et imagine que
ton menu n'a pas disparu
Re: bigo nouveau type de menu code sous GPL
dans le fil
un solution simple ?
pour que cette solution soit exploitable
l'on peut tout faire sauf toucher
aux obj MenuItem les actions peuvent etre utilisees
par celui qui a code le programme
la seule solution que je voie c'est d'encapsuler l'obj JmenuItem
mais c'est lourd a coder
mais ce n'est pas vraiment cela que je veux faire le but du jeu c'est de creer un rappel du menu "click" en gros
teste le code que j'ai poste un peu plus bas et imagine que ton menu n'a pas disparu
Re: bigo nouveau type de menu code sous GPL dans le fil un solution simple ?
pour que cette solution soit exploitable l'on peut tout faire sauf toucher aux obj MenuItem les actions peuvent etre utilisees par celui qui a code le programme la seule solution que je voie c'est d'encapsuler l'obj JmenuItem mais c'est lourd a coder
merci a+ remy
remy
Je pense que quand tu fais v.add(s) tu ne crées pas de "copie" de ton objet s. Tu as mis donc deux références vers le même objets dans le même vecteur. Celà ne gène pas le vecteur, qui compte bien deux elements. En revanche peut etre qu'il n'est pas possible d'ajouter deux fois le même objet (même référence mémoire) dans un container.
cela depend peut etre de la version sun 1.4.2-05.b04 c
ibm sont peut etre meilleur
a+ remy
Je pense que quand tu fais v.add(s) tu ne crées pas de "copie" de ton
objet s. Tu as mis donc deux références vers le même objets dans le même
vecteur. Celà ne gène pas le vecteur, qui compte bien deux elements.
En revanche peut etre qu'il n'est pas possible d'ajouter deux fois le
même objet (même référence mémoire) dans un container.
cela depend peut etre de la version
sun 1.4.2-05.b04 c
Je pense que quand tu fais v.add(s) tu ne crées pas de "copie" de ton objet s. Tu as mis donc deux références vers le même objets dans le même vecteur. Celà ne gène pas le vecteur, qui compte bien deux elements. En revanche peut etre qu'il n'est pas possible d'ajouter deux fois le même objet (même référence mémoire) dans un container.
cela depend peut etre de la version sun 1.4.2-05.b04 c
ibm sont peut etre meilleur
a+ remy
ventolin
Thibaut Desmarest wrote:
remy wrote:
Je pense que quand tu fais v.add(s) tu ne crées pas de "copie" de ton objet s. Tu as mis donc deux références vers le même objets dans le même vecteur. Celà ne gène pas le vecteur, qui compte bien deux elements. En revanche peut etre qu'il n'est pas possible d'ajouter deux fois le même objet (même référence mémoire) dans un container.
Thibaut
D'ailleurs quelle est la différence entre Object et Component ? Dans le premier cas, on ajoute un object (vector.add()) dans le second cas, on ajoute un component jbutton.add()).
Peut-être que la réponse au problème est dans cette question débile :-)
Thibaut Desmarest wrote:
remy wrote:
Je pense que quand tu fais v.add(s) tu ne crées pas de "copie" de ton
objet s. Tu as mis donc deux références vers le même objets dans le même
vecteur. Celà ne gène pas le vecteur, qui compte bien deux elements.
En revanche peut etre qu'il n'est pas possible d'ajouter deux fois le
même objet (même référence mémoire) dans un container.
Thibaut
D'ailleurs quelle est la différence entre Object et Component ?
Dans le premier cas, on ajoute un object (vector.add())
dans le second cas, on ajoute un component jbutton.add()).
Peut-être que la réponse au problème est dans cette question débile :-)
Je pense que quand tu fais v.add(s) tu ne crées pas de "copie" de ton objet s. Tu as mis donc deux références vers le même objets dans le même vecteur. Celà ne gène pas le vecteur, qui compte bien deux elements. En revanche peut etre qu'il n'est pas possible d'ajouter deux fois le même objet (même référence mémoire) dans un container.
Thibaut
D'ailleurs quelle est la différence entre Object et Component ? Dans le premier cas, on ajoute un object (vector.add()) dans le second cas, on ajoute un component jbutton.add()).
Peut-être que la réponse au problème est dans cette question débile :-)
remy
la seule solution que je voie c'est d'encapsuler l'obj JmenuItem mais c'est lourd a coder je me reponds
meme cette solution n'est pas jouable parce que si le programmeur fait un truc du style
class MyItem exdents JMenuItem { ... }
et que plus tard il teste l'instance
if(e.getSource()instanceof MyItem ) { ... }
l'encapsulage ne fonctionnera pas la seule solution c'est 2 ref identiques dans un container c'est dommage j'etais pret a faire des modifs dans eclipse donc j'ai envie de dire qu'il y a un bug dans le jsk :-) et que sun n'a pas encore depose un brevet sur ce type de menu
by remy
ps:si vous aver des lien sur le toolkit de QT en francais je suis preneur
la seule solution que je voie c'est d'encapsuler l'obj JmenuItem
mais c'est lourd a coder
je me reponds
meme cette solution n'est pas jouable
parce que si le programmeur
fait un truc du style
class MyItem exdents JMenuItem
{
...
}
et que plus tard il teste l'instance
if(e.getSource()instanceof MyItem )
{
...
}
l'encapsulage ne fonctionnera pas
la seule solution c'est 2 ref identiques dans un container
c'est dommage j'etais pret a faire des modifs dans eclipse
donc j'ai envie de dire qu'il y a un bug dans le jsk :-)
et que sun n'a pas encore depose un brevet sur ce type de menu
by remy
ps:si vous aver des lien sur le toolkit de QT en francais je suis preneur
la seule solution que je voie c'est d'encapsuler l'obj JmenuItem mais c'est lourd a coder je me reponds
meme cette solution n'est pas jouable parce que si le programmeur fait un truc du style
class MyItem exdents JMenuItem { ... }
et que plus tard il teste l'instance
if(e.getSource()instanceof MyItem ) { ... }
l'encapsulage ne fonctionnera pas la seule solution c'est 2 ref identiques dans un container c'est dommage j'etais pret a faire des modifs dans eclipse donc j'ai envie de dire qu'il y a un bug dans le jsk :-) et que sun n'a pas encore depose un brevet sur ce type de menu
by remy
ps:si vous aver des lien sur le toolkit de QT en francais je suis preneur
remy
bonjour
il solution qui fct a teste eventuellement code toujour sous GPL