questions cons: JSeparator : pq l'instancier non-anonymement? - Java - Programmation
Marsh Posté le 02-09-2002 à 14:30:34
mmaaaaaaaiiis euh japaltemps dtout lire là
Marsh Posté le 02-09-2002 à 14:32:09
Baaaah, pleure pas!! Je sais pas, franchement, j'ai jamais utilisé cette bête là, moi, et bon, je vois pas bien l'intérêt d'être pas anonyme....pasque y'a pas des masses de méthodes à appeller sur ce truc là! ..A moins que tu veilles qu'on puisse cliquer dessus, genre, on dirait que ce serait l'entrée secrète du menu, et tout!
Marsh Posté le 02-09-2002 à 14:38:41
ReplyMarsh Posté le 02-09-2002 à 19:15:28
Il est utile de nommer un separateur pour garder un lien dessus si tu veux modifier dynamiquement le menu. Par exemple, un menu "Edition" peut s'ajuster aux propriétés de l'objet sélectionné.
Marsh Posté le 02-09-2002 à 19:16:49
airbag a écrit a écrit : Il est utile de nommer un separateur pour garder un lien dessus si tu veux modifier dynamiquement le menu. Par exemple, un menu "Edition" peut s'ajuster aux propriétés de l'objet sélectionné. |
merci
Marsh Posté le 03-09-2002 à 09:05:01
--greg-- a écrit a écrit : merci |
De plus tu peux vouloir etendre la classe, ajouter des methodes qui vont faire avoir un comportement particulier a ton separator, dans quel cas tu dois avoir une reference sur celui-ci pour faire tes appels.
Bye,
Marsh Posté le 03-09-2002 à 11:06:32
phenixl a écrit a écrit : De plus tu peux vouloir etendre la classe, ajouter des methodes qui vont faire avoir un comportement particulier a ton separator, dans quel cas tu dois avoir une reference sur celui-ci pour faire tes appels. Bye, |
ça c'est sur mais donc dans le cas d'un bete separateur j'en ai po besoin quoi.
Marsh Posté le 03-09-2002 à 15:33:15
--greg-- a écrit a écrit : ça c'est sur mais donc dans le cas d'un bete separateur j'en ai po besoin quoi. |
Dans le cas d'un bete separateur non, quoique je pronerais de ne pas l'instancier directement lors de l'ajout au menu. En effet, si par la suite tu veux modifier quoi que ce soit ca peut etre galere a retrouver, et a modifier le code (enfin... c'est surtout chiant a faire). Par confort de relecture et de modification de code future j'utiliserais bel et bien les deux etapes.
A+
Marsh Posté le 03-09-2002 à 16:23:59
ben justement, pas confort de lecture je mettrais qu'une ligne.
C'est déjà assez verbeux comme ca swing !
Marsh Posté le 03-09-2002 à 16:47:19
benou a écrit a écrit : ben justement, pas confort de lecture je mettrais qu'une ligne. C'est déjà assez verbeux comme ca swing ! |
De RElecture pas de lecture.
Prends ton code dans 6 mois ou prends le code fait par une autre personne (disons 8000 lignes pour une GUI pas trop compliquee mais deja avancee avec des layouts personalises) et tu verras qu'avoir une liste de methodes bien commentees (et bien nommees) et de variables locales a ces methodes bien commentees (et bien nommees) egalement ca aide enormement pour retrouver ou tu en es, et qu'au contraire tout ce qui est creation d'objets on the fly et autres est souvent une veritable horreur pour la comprehension. Enfin tout depend de l'utilisation du code bien entendu (utilise par d'autres personnes ou non, etc...)
a+
Je parle
Marsh Posté le 03-09-2002 à 16:55:36
euh ouais mais 8000lignes euh...
enfin, rassure moi, tu ne parles pas de 8000 lignes et de tout foutre dans UNE classe?
paske moi ma micro gui que j'ai faite là, y'a ptete ché pas, 200 lignes (et encore), et j'ai style 8 classes
mais on ne peut plus propre et modulaire! (c'est le but, justement, y'a des parties qui s(er)ont "pluginables" )
Marsh Posté le 03-09-2002 à 16:58:49
--greg-- a écrit a écrit : euh ouais mais 8000lignes euh... enfin, rassure moi, tu ne parles pas de 8000 lignes et de tout foutre dans UNE classe? paske moi ma micro gui que j'ai faite là, y'a ptete ché pas, 200 lignes (et encore), et j'ai style 8 classes mais on ne peut plus propre et modulaire! (c'est le but, justement, y'a des parties qui s(er)ont "pluginables" ) |
Parle pas d'horreur 8000 lignes dans une seule classe hum... quoique... j'ai du me tapper une GUI faite n'importecoment par un partenaire la semaine derniere : pres de 5000 lignes de code dont 2 fichiers de 1000 lignes chacun, autant dire que tu petes un plomb et que j'ai tout reecrit from scratch.
Marsh Posté le 03-09-2002 à 17:00:43
J'ai deja subit une gui dont tout le traitement était dans un MouseEvent perso (6000 lignes mal indentées et non commentées).
Vivent les chimistes
Marsh Posté le 03-09-2002 à 17:05:05
--greg-- a écrit a écrit : paske moi ma micro gui que j'ai faite là, y'a ptete ché pas, 200 lignes (et encore), et j'ai style 8 classes |
Euh.. 200 lignes ? mouais mais alors sans layouts personalises ni rien, car seul un de mes layouts preferes fait 210 lignes de code
Marsh Posté le 03-09-2002 à 17:11:42
phenixl a écrit a écrit : Euh.. 200 lignes ? mouais mais alors sans layouts personalises ni rien, car seul un de mes layouts preferes fait 210 lignes de code |
oh bah ouais là j'utilise un peu tous les layouts, mais aucun "à moi". il a quoi de bien le tiens?
edit: je viens de compter, en fait j'ai 600 lignes (mais javadoc, imports compris. donc si on ne prend que les lignes de code "pur" ça devrait bien fondre...)
Marsh Posté le 03-09-2002 à 17:12:18
phenixl a écrit a écrit : De RElecture pas de lecture. Prends ton code dans 6 mois ou prends le code fait par une autre personne (disons 8000 lignes pour une GUI pas trop compliquee mais deja avancee avec des layouts personalises) et tu verras qu'avoir une liste de methodes bien commentees (et bien nommees) et de variables locales a ces methodes bien commentees (et bien nommees) egalement ca aide enormement pour retrouver ou tu en es, et qu'au contraire tout ce qui est creation d'objets on the fly et autres est souvent une veritable horreur pour la comprehension. Enfin tout depend de l'utilisation du code bien entendu (utilise par d'autres personnes ou non, etc...) a+ Je parle |
et tu crois que déclarer des variables à tout bout de champs alors que tu ne t'en serviras plus après ca aide à la relecture ? pfff !
et transforme pas mon propos en parlant de commentaire et de méthodes corectement nommées !
et puis des classes de 8000 lignes, c'est pas mon truc !
Marsh Posté le 03-09-2002 à 17:13:26
phenixl a écrit a écrit : Euh.. 200 lignes ? mouais mais alors sans layouts personalises ni rien, car seul un de mes layouts preferes fait 210 lignes de code |
tu codes des layout dans la même classe ?
Marsh Posté le 03-09-2002 à 19:08:00
benou a écrit a écrit : tu codes des layout dans la même classe ? |
Bien sur que non...
Je disais qu'il a 200 lignes pour 8 classes de GUI alors que je me retrouve avec 200 lignes pour uniquement une classe de layout (ce qui somme toute n'est pas enorme).
Marsh Posté le 03-09-2002 à 19:21:26
phenixl a écrit a écrit : Bien sur que non... Je disais qu'il a 200 lignes pour 8 classes de GUI alors que je me retrouve avec 200 lignes pour uniquement une classe de layout (ce qui somme toute n'est pas enorme). |
600, j'ai édité
Marsh Posté le 04-09-2002 à 13:25:50
--greg-- a écrit a écrit : oh bah ouais là j'utilise un peu tous les layouts, mais aucun "à moi". il a quoi de bien le tiens? |
Un exemple de layout :
Tu indiques le nombre de colonnes que tu desires, ensuite tu inseres tes elements. Les colonnes prennent au minimum la taille de l'element de la colonne et s'etirent pour combler l'espace disponible sinon. Tu peux fixer la taille de certaines colonnes pour qu'en aucun cas elles ne s'etirent et pour que la largeur de la colonne soit celle de l'element le plus large de celle-ci.
Actuellement les lignes prennent la hauteur de l'element le plus haut insere dans le panel utilisant ce layout... mais je change ca pour que les hauteur des lignes soient independantes des que j'ai un moment. Sinon j'ai encore un ou deux petits bugs pour la hauteur (le height du getPrefferedSize() ne tient pas compte de certains insets je crois).
Bref les largeurs de colonnes sont dynamiques et independantes pour chaque ligne, sauf si tu fixe la largeur d'une colonne a celle de son element le plus large.
A+
Marsh Posté le 02-09-2002 à 14:19:59
Hop
Y'a t'il une difference entre
monJMenu.add(new JSeparator());
et
JSeparator monSuperSeparator = new JSeparator();
monJMenu.add(monSuperSeparator );
.. y'a un interet à etre non-anonyme avec ce genre d'objet?
(D'autant qu'apparement(me trompai-je ), je peux pas ajouter la meme instance à plusieurs endroits dans mes menus... hahem.)
Message édité par --greg-- le 02-09-2002 à 14:30:55
---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!