Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1510 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  241  242  243  ..  327  328  329  330  331  332
Auteur Sujet :

BlaBlaTech@JAVA [ELITE, viendez les boobs]

n°1847035
cooltwan
Posté le 04-02-2009 à 12:15:45  profilanswer
 

Reprise du message précédent :

zapan666 a écrit :


Tu peux passer par l'inspector (si je comprend bien ton problème) > click droit > ajouter (de mémoire)
http://www.netbeans.org/images/v6/ [...] uilder.png (en bas a gauche)


 
Euh ça permet de créer de nouveaux JPanel et cie mais moi je veux reutiliser un JPanel d'une autre classe (lui même designé avec le Designer netbeans) ...  :)

mood
Publicité
Posté le 04-02-2009 à 12:15:45  profilanswer
 

n°1847044
zapan666
Tout est relatif
Posté le 04-02-2009 à 12:21:41  profilanswer
 

cooltwan a écrit :

 

Euh ça permet de créer de nouveaux JPanel et cie mais moi je veux reutiliser un JPanel d'une autre classe (lui même designé avec le Designer netbeans) ...  :)


ok, je croyais que tu voulais faire un nouveau panel from scratch.
Je viens de tester ça : tu drap&drop ta class sur le designer, tout simplement.

 

edit : mais ça m'a l'air assezz buggy. Si tu mets a jour ton JPanel, la modif n'a pas l'air de se propager.
edit : clean + build & op ça propage /o\ C'est puissant.

Message cité 1 fois
Message édité par zapan666 le 04-02-2009 à 12:25:37

---------------
my flick r - Just Tab it !
n°1847056
___alt
Posté le 04-02-2009 à 12:54:03  profilanswer
 

Quelqu'un aurait des ressources sur les tests (unitaires, intégration) et le "build/intégration/tests automatiques" ? Des ressources au sens information, pas au sens jubijub, of course.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°1847064
zapan666
Tout est relatif
Posté le 04-02-2009 à 13:16:48  profilanswer
 

___alt a écrit :

Quelqu'un aurait des ressources sur les tests (unitaires, intégration) et le "build/intégration/tests automatiques" ? Des ressources au sens information, pas au sens jubijub, of course.


Tu devrais trouver 2/3 trucs ici : http://xp-france.net/sessions2007/ et là http://xp-france.net/sessions2008/
 
 [:wark0] J'ai pas lu les pdfs de la session de 2008


Message édité par zapan666 le 04-02-2009 à 13:17:34

---------------
my flick r - Just Tab it !
n°1847076
cooltwan
Posté le 04-02-2009 à 13:44:07  profilanswer
 

zapan666 a écrit :


ok, je croyais que tu voulais faire un nouveau panel from scratch.
Je viens de tester ça : tu drap&drop ta class sur le designer, tout simplement.
 
edit : mais ça m'a l'air assezz buggy. Si tu mets a jour ton JPanel, la modif n'a pas l'air de se propager.
edit : clean + build & op ça propage /o\ C'est puissant.


 
 :jap: mais j'y arrive pas  :sweat:

n°1847087
zapan666
Tout est relatif
Posté le 04-02-2009 à 13:57:37  profilanswer
 

cooltwan a écrit :


 
 :jap: mais j'y arrive pas  :sweat:


La première fois, j'ai eux un message d'erreur qu'il fallait d'abord compiler la class. (un build du projet et op, résolu)
 
Tu y arrive pas, c'est à dire ?  
Toujours sur le screen :  
http://www.netbeans.org/images/v6/ [...] uilder.png
J'aurais cliqué sur MarsRoverViewerAboutBox.java dans projects, Drap&Drop sur le designer ouvert sur MarsRoverViewerView (au milieu) et pouf.


---------------
my flick r - Just Tab it !
n°1847131
cooltwan
Posté le 04-02-2009 à 14:32:31  profilanswer
 

Finalement j'ai réussi comme ça http://wiki.netbeans.org/FaqFormUsingCustomComponent
 
j'ai d'abord ajouté ma classe qui heritait de JPanel dans la palette via le menu contextuel tools -> add to palette
 
puis après le drag&drop de palette vers le designer de mon jdialog passe nickel !
 
PS : j'ai compris pourquoi ça passait pas le copier coller ou le drag & drop simple ! il faut que la classe source possède un constructeur sans argument sinon ça bloque ...

Message cité 2 fois
Message édité par cooltwan le 04-02-2009 à 14:39:40
n°1847145
0x90
Posté le 04-02-2009 à 14:44:00  profilanswer
 

Et ma question de typage, elle vous plait pas :o ?


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1847153
masklinn
í dag viðrar vel til loftárása
Posté le 04-02-2009 à 14:58:45  profilanswer
 

0x90 a écrit :

Et ma question de typage, elle vous plait pas :o ?


Bah perso je vois pas comme tu pourrais gérer ça vu que t'as pas de moyen de fournir un paramètre de type à un truc private static, mais faut demander à nraynal pour être sûr :o


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1847155
nraynaud
lol
Posté le 04-02-2009 à 15:05:35  profilanswer
 

0x90 a écrit :

J'ai un ptit pb pour jouer avec les generics, j'arrive pas à savoir si c'est un bète manque d'expressivité de java ou si je me plante dans mon raisonnement.
 
J'aimerais déclarer une variable foo de type Map<Class<T>, ClassWrapper<T>>. Avec T qui n'est pas un paramètre de type de la classe parente ni un nom de type fixe, que ce soit un vrai variable de type.
 
Ça me semble cohérent dans le sens ou avec cette définition,
foo.put(clazz, wrapper) ne sera valide que si clazz est de type Class<X> , wrapper de class ClassWrapper<Y> et surtout que X = Y.
Du coup avec ce dernier truc, on a la garantie si ça compile et que personne fait de casts unchecked dans notre dos que :
foo.get(clazz) avec clazz de type Class<X> retournera forcément un ClassWrapper<X>, le typage est donc sûr (et n'utilise rien de plus que l'implé actuelle avec erasure).
 
Malhereusement on peut pas déclarer de truc du genre:
private final static Map<Class<T>, ClassWrapper<T>> variable;
ou même :
private final static <T> Map<Class<T>, ClassWrapper<T>> variable;
 
Je peut ptêtre créer ce type en créant une sous-interface générique de ce type, mais dans ce cas je peut pas utiliser d'implémentation existante de Map<K, V>, vu qu'elles sont sous-type de Map et pas de ma sous-interface bidouille (et coder une classe-bridge qui implémente ma classe mais délègue à une implé de map c'est un poil lourdingue).
 
Alors, j'ai raté un truc ou c'est java qui a un trou ?


nan, tu ne peux pas exprimer de contrainte aussi abstraite en java.
en fait Class<T> n'est pas un type, mais un constructeur de type car tu ne peux pas typer un truc par Class<T>, par contre, Class<Object> est un type.
or une variable a forcément un type (intégralement déterminé donc).
 
 
tu peux jouer sur les accesseurs si tu veux :  
en utilisant un accesseur générique : private <T> Map<Class<T>, ClassWrapper<T>> getVariable()
que tu peux appeler par this.<MonType>.getVariable().put(lol)
 


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le 04-02-2009 à 15:05:35  profilanswer
 

n°1847248
TBone
Pouet.
Posté le 04-02-2009 à 18:28:41  profilanswer
 

cooltwan a écrit :

Finalement j'ai réussi comme ça http://wiki.netbeans.org/FaqFormUsingCustomComponent
 
j'ai d'abord ajouté ma classe qui heritait de JPanel dans la palette via le menu contextuel tools -> add to palette
 
puis après le drag&drop de palette vers le designer de mon jdialog passe nickel !
 
PS : j'ai compris pourquoi ça passait pas le copier coller ou le drag & drop simple ! il faut que la classe source possède un constructeur sans argument sinon ça bloque ...


c'est bizarre car je fais comme zapan aussi... j'écris mon PouetPanel.java, je builde, je prends ma Frame en édition, je drag&drop et zou!
 
bizarre...


---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.
n°1847290
ynorsa
Posté le 04-02-2009 à 20:17:58  profilanswer
 

cooltwan a écrit :

Finalement j'ai réussi comme ça http://wiki.netbeans.org/FaqFormUsingCustomComponent
 
j'ai d'abord ajouté ma classe qui heritait de JPanel dans la palette via le menu contextuel tools -> add to palette
 
puis après le drag&drop de palette vers le designer de mon jdialog passe nickel !
 
PS : j'ai compris pourquoi ça passait pas le copier coller ou le drag & drop simple ! il faut que la classe source possède un constructeur sans argument sinon ça bloque ...


 
Y a pas à dire, vachement simple à utiliser, tous ces IDE révolutionnaires : tu passes 3 fois plus de temps à essayer de comprendre comment ça marche que si t'avais écrit du code

n°1847292
cooltwan
Posté le 04-02-2009 à 20:19:48  profilanswer
 

ynorsa a écrit :


 
Y a pas à dire, vachement simple à utiliser, tous ces IDE révolutionnaires : tu passes 3 fois plus de temps à essayer de comprendre comment ça marche que si t'avais écrit du code


  :lol:

n°1847294
cooltwan
Posté le 04-02-2009 à 20:20:38  profilanswer
 

TBone a écrit :


c'est bizarre car je fais comme zapan aussi... j'écris mon PouetPanel.java, je builde, je prends ma Frame en édition, je drag&drop et zou!
 
bizarre...


 
moi si j'ai pas de constructeur sans argument, ça me met l'icône sens interdit quand je drag&drop ...

n°1847338
zapan666
Tout est relatif
Posté le 04-02-2009 à 22:07:08  profilanswer
 

cooltwan a écrit :


 
moi si j'ai pas de constructeur sans argument, ça me met l'icône sens interdit quand je drag&drop ...


bah c'est un peu normal. Il peut pas deviner le rendering sans


---------------
my flick r - Just Tab it !
n°1847353
cooltwan
Posté le 04-02-2009 à 22:27:50  profilanswer
 

zapan666 a écrit :


bah c'est un peu normal. Il peut pas deviner le rendering sans


 
Bha pourtant il fait le rendering du jpanel seul si pas de constructeur ...

n°1847423
Di@bolik
Posté le 05-02-2009 à 09:22:50  profilanswer
 

Bah, pas de constructeur === constructeur de la super classe, non ?

n°1847458
nraynaud
lol
Posté le 05-02-2009 à 10:15:49  profilanswer
 

Di@bolik a écrit :

Bah, pas de constructeur === constructeur de la super classe, non ?


non


---------------
trainoo.com, c'est fini
n°1847490
Di@bolik
Posté le 05-02-2009 à 11:18:29  profilanswer
 


Tu pourrais m'expliquer ? [:dawa]

n°1847498
nraynaud
lol
Posté le 05-02-2009 à 11:31:11  profilanswer
 

ok, je viens de comprendre. Y'a eu un problème de compréhension entre vous.
 
cooltwan parle de "pas de constructeur sans argument" ce qui sous-entends qu'il a d'autres constructeurs, donc pas de constructeur par défaut.  
 
toi tu parles du constructeur par défaut qui est créé s'il n'existe aucun constructeur et qui effectivement rappelle le constructeur sans argument de son parent.


---------------
trainoo.com, c'est fini
n°1847709
Di@bolik
Posté le 05-02-2009 à 19:08:59  profilanswer
 

nraynaud a écrit :

ok, je viens de comprendre. Y'a eu un problème de compréhension entre vous.
 
cooltwan parle de "pas de constructeur sans argument" ce qui sous-entends qu'il a d'autres constructeurs, donc pas de constructeur par défaut.  
 
toi tu parles du constructeur par défaut qui est créé s'il n'existe aucun constructeur et qui effectivement rappelle le constructeur sans argument de son parent.


Oups, au temps pour moi :jap:

n°1848657
0x90
Posté le 08-02-2009 à 18:43:35  profilanswer
 

nraynaud a écrit :


nan, tu ne peux pas exprimer de contrainte aussi abstraite en java.
en fait Class<T> n'est pas un type, mais un constructeur de type car tu ne peux pas typer un truc par Class<T>, par contre, Class<Object> est un type.
or une variable a forcément un type (intégralement déterminé donc).


Tu peut bien "typer" statiquement une variable par par Foo<? extends Bar>, où tu ne fait que spécifier un ensemble de types qui partagent des propriétés et pas un type intégralement déterminé. Statiquement ta variable est pas entièrement typée mais si tu ne te sers que des propriétées partagées par tout l'ensemble de type c'est suffisant pour être statiquement sûr.

 

Après dynamiquement on perds ce typage mais c'est pas grave, si tout le code qui tourne respecte les contraintes statiques le code reste sûr.

 

Il me semble que la contrainte que je veut exprimer est certes plus abstraite mais tout autant faisable sans rien changer à la partie runtime de java, simplement en ajoutant un bout de syntaxe et un vérificateur de type qui va bien avec (et donc aurait pu être implémentée sous les même contraintes que celles qui ont dirigées la création des generics ala java).

  

Sinon autre question qui n'a rien à voir, est-ce que vous pensez que ce serait une bonne idée d'avoir un système d'exception qui au lieu d'avoir uniquement les checked/unchecked simple, autorise la définition d'une fonction F dont le code appelle une fonction G pouvant lancer une checked C , et ce même si F ne déclare pas qu'elle peut thrower C. Avec la contrainte par contre que  l'utilisation de F est limitée à des contexte qui eux même déclarent pouvoir thrower C (ou sont appellés par des contextes le déclarant).

Message cité 1 fois
Message édité par 0x90 le 08-02-2009 à 18:44:11

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1848672
masklinn
í dag viðrar vel til loftárása
Posté le 08-02-2009 à 19:14:54  profilanswer
 

0x90 a écrit :

Sinon autre question qui n'a rien à voir, est-ce que vous pensez que ce serait une bonne idée d'avoir un système d'exception qui au lieu d'avoir uniquement les checked/unchecked simple, autorise la définition d'une fonction F dont le code appelle une fonction G pouvant lancer une checked C , et ce même si F ne déclare pas qu'elle peut thrower C. Avec la contrainte par contre que  l'utilisation de F est limitée à des contexte qui eux même déclarent pouvoir thrower C (ou sont appellés par des contextes le déclarant).


Quel est l'intérêt, à part ne pas avoir à déclarer que F peut thrower C (donc gagner 1 keyword et 1 identifiant)?


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1848679
0x90
Posté le 08-02-2009 à 19:31:19  profilanswer
 

masklinn a écrit :


Quel est l'intérêt, à part ne pas avoir à déclarer que F peut thrower C (donc gagner 1 keyword et 1 identifiant)?


Exactement ça,  
dans un contexte ou la raison pour laquelle F pourrait thrower C c'est l'appel d'une méthode d'un objet O lui étant passé en paramètre qui elle même peut thrower C, auquel cas, ou peut avoir envie d'une F réutilisable quelque soit ce que peut thrower O.
 
En fait, l'idée ce serait de définir une classe de fonctions F dont le tuple de types throwé est paramétré en fonction des tuples de types throwés de ses paramètres, et vu que ce serait chiant à tapper explicitement on laisserait le boulot à un peu d'inférence à la place [:jar jar]


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1848687
masklinn
í dag viðrar vel til loftárása
Posté le 08-02-2009 à 19:44:27  profilanswer
 

0x90 a écrit :

Exactement ça,  
dans un contexte ou la raison pour laquelle F pourrait thrower C c'est l'appel d'une méthode d'un objet O lui étant passé en paramètre qui elle même peut thrower C, auquel cas, ou peut avoir envie d'une F réutilisable quelque soit ce que peut thrower O.
 
En fait, l'idée ce serait de définir une classe de fonctions F dont le tuple de types throwé est paramétré en fonction des tuples de types throwés de ses paramètres, et vu que ce serait chiant à tapper explicitement on laisserait le boulot à un peu d'inférence à la place [:jar jar]


:D


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1848740
nraynaud
lol
Posté le 08-02-2009 à 21:27:09  profilanswer
 

0x90 a écrit :


Exactement ça,  
dans un contexte ou la raison pour laquelle F pourrait thrower C c'est l'appel d'une méthode d'un objet O lui étant passé en paramètre qui elle même peut thrower C, auquel cas, ou peut avoir envie d'une F réutilisable quelque soit ce que peut thrower O.
 
En fait, l'idée ce serait de définir une classe de fonctions F dont le tuple de types throwé est paramétré en fonction des tuples de types throwés de ses paramètres, et vu que ce serait chiant à tapper explicitement on laisserait le boulot à un peu d'inférence à la place [:jar jar]


héhé, marrant, c'était le sujet d'une de mes présentation sur les exception à Leirios.  
 
on a envie de s'en occuper au moment du tissage des composants, pas au moment de l'appel. Je pense que le truc qui se rapproche le plus de ça serait de wrapper dans des Runtimes spéciales le temps de traverser les frames innocentes de la stacktrace :/
on voit souvent le cas avec les parsers XML par ex. : le parser sait pas s'il traite du réseau, du fichier ou de la mémoire, mais celui qui l'appelle le sait.


---------------
trainoo.com, c'est fini
n°1848759
0x90
Posté le 08-02-2009 à 22:50:34  profilanswer
 

nraynaud a écrit :


héhé, marrant, c'était le sujet d'une de mes présentation sur les exception à Leirios.  
 
on a envie de s'en occuper au moment du tissage des composants, pas au moment de l'appel.

Exactement le pb que j'ai \o/

nraynaud a écrit :

Je pense que le truc qui se rapproche le plus de ça serait de wrapper dans des Runtimes spéciales le temps de traverser les frames innocentes de la stacktrace :/


C'est le plus simple et ça a l'avantage de marcher immédiatement, mais faut jamais oublier qu'on peut se faire interrompre à tout moment en utilisant un autre objet (quoique en fait, ça c'est toujours vrai...)

n°1848834
nraynaud
lol
Posté le 09-02-2009 à 11:08:18  profilanswer
 

Code :
  1. public CRUDEntityResponse (T entity) {
  2.  super(true);
  3.  this.entity = entity;
  4. }
  5.         public static <T extends Entity> CRUDEntityResponse<T> wrap(T entity) {
  6.  return new CRUDEntityResponse<T>(entity);
  7. }


hep les gens, j'ai fait mon wrap() juste pour pouvoir inférer le type, est-ce que je peux pas faire plus simple ? j'arrive pas à rendre le constructeur générique.


---------------
trainoo.com, c'est fini
n°1848837
masklinn
í dag viðrar vel til loftárása
Posté le 09-02-2009 à 11:19:15  profilanswer
 

nraynaud a écrit :

j'arrive pas à rendre le constructeur générique.


Tu veux quoi exactement, un constructeur qui infère les types comme wrap?


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1848852
nraynaud
lol
Posté le 09-02-2009 à 11:49:56  profilanswer
 

masklinn a écrit :


Tu veux quoi exactement, un constructeur qui infère les types comme wrap?


oui, par exemple


---------------
trainoo.com, c'est fini
n°1849133
the real m​oins moins
Posté le 09-02-2009 à 20:05:30  profilanswer
 

avec Easymock, qqun pourrait m'expliquer clairement la différence entre  expect(...).andReturn(foobar) et expect(...).andStubReturn(foobar) ? je crois que le concept de "stub" m'échappe un peu [:pingouino]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1849137
souk
Tourist
Posté le 09-02-2009 à 20:18:16  profilanswer
 

ben andReturn specifie le comportement  pour une seul invocation, le stubReturn va retourner la valeur pour toutes les invocations, quel que soit leur nomber, si je me souviens bien
(a prendre avec des pincettes)

n°1849139
the real m​oins moins
Posté le 09-02-2009 à 20:25:47  profilanswer
 

alors que je peux specifier le nbre d'invocation avec .[any]times() et que j'ai fait un .createStrictMock() ? c'est chelou :O


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1849152
souk
Tourist
Posté le 09-02-2009 à 21:17:41  profilanswer
 

je sais pas moi, j'utilise jamais le stub truc [:dawao]

n°1850175
lorill
Posté le 12-02-2009 à 09:43:18  profilanswer
 

question générics.
 
J'ai ces classes :
 

Code :
  1. public class Tableau extends Node<Node> {}
  2. public class Bordure extends LeafNode {}
  3. public class Ligne extends Node<Cellule> {}


 
ce qui me déplait, c'est que dans Tableau, je peux y mettre n'importe quelle node, alors que je sais qu'il ne devrait contenir que des Bordures et des Lignes.
 
Y'a pas un moyen de spécifier ca ? Si nécéssaire, je peux ajouter une interface commune, mais je ne sais pas comment exprimer soit qu'un objet doit avoir telle interface + hériter de Node.

n°1850199
masklinn
í dag viðrar vel til loftárása
Posté le 12-02-2009 à 10:32:16  profilanswer
 

Tu ajoutes un implements après ton exdends [:petrus75]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1850203
lorill
Posté le 12-02-2009 à 10:38:15  profilanswer
 

masklinn a écrit :

Tu ajoutes un implements après ton exdends [:petrus75]


 [:obvious]  
 
et dans mon tableau, il extends Node<quoi> ?

n°1850234
nraynaud
lol
Posté le 12-02-2009 à 11:20:22  profilanswer
 

tu peux donner un peu plus de code stp ? c'est quoi l'usage de ce truc ? tu décris des objets graphiques ?


---------------
trainoo.com, c'est fini
n°1850268
masklinn
í dag viðrar vel til loftárása
Posté le 12-02-2009 à 12:01:53  profilanswer
 

lorill a écrit :


 [:obvious]  
 
et dans mon tableau, il extends Node<quoi> ?


T'as pas dit ce qu'était/faisait Node [:petrus75]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1850295
lorill
Posté le 12-02-2009 à 12:49:46  profilanswer
 

nraynaud a écrit :

tu peux donner un peu plus de code stp ? c'est quoi l'usage de ce truc ? tu décris des objets graphiques ?


Non, pas des objets graphiques, c'est un arbre mémoire résultant de mon parsing de supers documents textes.
 

masklinn a écrit :


T'as pas dit ce qu'était/faisait Node [:petrus75]


Parce que je pensais qu'on s'en foutait ?
 
moi je veux juste dire que j'ai un élement qui a des fils, qui peuvent être de type A, B, ou C, avec A, B, C qui étendent une classe mère M définie, et interdire les fils autres que A, B, et C.
 
Je prépare du code pour le prochain post.

n°1850298
lorill
Posté le 12-02-2009 à 12:55:14  profilanswer
 

Code :
  1. public abstract class AbstractNode extends org.antlr.runtime.tree.CommonTree {
  2. //methodes non typées sur l'arbre (suppression de fils, calcul de profondeur, ..)
  3. }
  4. public abstract class Node<T extends AbstractNode> extends AbstractNode implements Iterable<T> {
  5.  public Node(Token t) {
  6.   super(t);
  7.  }
  8.  @SuppressWarnings("unchecked" )
  9.  public T getChildAt(int i) {
  10.   return (T)getChild(i); //vient du CommonTree d'antlr, renvoie Object
  11.  }
  12.  public T getFirstChild() {
  13.   return getChildAt(0);
  14.  }
  15.  @SuppressWarnings("unchecked" )
  16.  public List<T> getChildren() {
  17.   List<T> children = super.getChildren(); //vient du CommonTree d'antlr, renvoie List
  18.   if(children == null)
  19.    return Collections.emptyList();
  20.   return children;
  21.  }
  22.  public Iterator<T> iterator() {
  23.   return getChildren().iterator();
  24.  }
  25.  public String toStringTree() {
  26.   //on s'en tape, affiche l'arbre
  27.  }
  28. }
  29. @SuppressWarnings("unchecked" )
  30. public abstract class LeafNode extends Node {
  31.  public LeafNode(Token t) {
  32.   super(t);
  33.  }
  34.  public List getChildren() {
  35.   return Collections.emptyList();
  36.  }
  37. }
 
Code :
  1. public class Document extends Node<Page> {
  2.  public Document(Token t) {
  3.   super(t);
  4.  }
  5. }
  6. @SuppressWarnings("unchecked" )
  7. public class Tableau extends Node<Node> {//ici, je veux permettre des Bordure & Ligne, mais pas d'autres nodes (genre Document)
  8.  public Tableau(Token t) {
  9.   super(t);
  10.  }
  11. }
  12. public class Bordure extends LeafNode {
  13.  public Bordure(Token t) {
  14.   super(t);
  15.  }
  16. }
  17. public class Ligne extends Node<Cellule> {
  18.  public Ligne(Token t) {
  19.   super(t);
  20.  }
  21. }



Message édité par lorill le 12-02-2009 à 12:56:29
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  241  242  243  ..  327  328  329  330  331  332

Aller à :
Ajouter une réponse
 

Sujets relatifs
[java]Ouvrir un fichier dans la fenetre principaleformation pour developpeurs Java
crontab : programme java[JAVA] Aide pour packager un jar
[java] copie de fichier et progressbarinstallation java
[JAVA]Comment insérer un texte dans un fichier audio?[JAVA] Intégrer ANT : API ou ligne de commande ?
[Java][Bouley]Serializable : mauvaise instanciation des champs[JAVA : JNI] Pb a l'execution avec library
Plus de sujets relatifs à : BlaBlaTech@JAVA [ELITE, viendez les boobs]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)