J'ai remarqué qu'on peut écrire en java:
mon_code:{
}
je trouve ca sympa dans mes méthods de construction IHM pour fournir une étiquette à des sections de code.
Mais en faite je sais pas vraiment ce que je fais. Quelqu'un peut il m'expliquer ?
J'ai remarqué qu'on peut écrire en java:
mon_code:{
}
je trouve ca sympa dans mes méthods de construction IHM pour fournir une étiquette à des sections de code.
Mais en faite je sais pas vraiment ce que je fais. Quelqu'un peut il m'expliquer ?
T'as pas un exemple sous la main, parce que la je ne vois pas ce que tu entends par ecrire :
mon_code : {
}
C'est pas le if then else simplifié ?
équivaut à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 toto ? A : B;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if (toto) { A; } else { B }
Et voilà !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 // §For each domain in the caddy ArrayList<DomainCaddy> domainList = caddy.getDomainCaddyList(); for (int i = 0; i < domainList.size(); i++) { DomainCaddy domainCaddy = domainList.get(i); design_firstTrashColumn: { HtmlCommandButton trash = new HtmlCommandButton(); // trash.setStyleClass("trashButton"); // HtmlGraphicImage trashImage=new HtmlGraphicImage(); trash.setImage("/fibo/_images/interface/trash.gif"); // trash.getChildren().add(trashImage); trash.setImmediate(true); trash.setOnclick("this.form.submit();"); trash.getAttributes().put("domaine", domainCaddy); trash.addActionListener(this); panelGridDetail.getChildren().add(trash); } HtmlOutputText output = new HtmlOutputText(); design_domainNameColumn: { output.setValue(domainCaddy.getTotalName()); panelGridDetail.getChildren().add(output); } design_options_itemColumn: { output.setValue("Enregistrement"); panelGridDetail.getChildren().add(output); } design_quantity_itemColumn: { HtmlSelectOneMenu selectOnMenu = new HtmlSelectOneMenu(); ArrayList<UISelectItem> listUI = this .getAvailableDurationItems(domainCaddy); for (int e = 0; e < listUI.size(); e++) { selectOnMenu.getChildren() .add((UISelectItem) listUI.get(e)); } selectOnMenu.setSubmittedValue(domainCaddy.getDuration() .toString()); selectOnMenu.addValueChangeListener(this); selectOnMenu.setImmediate(true); selectOnMenu.setOnchange("this.form.submit();"); selectOnMenu.getAttributes().put("domaine", domainCaddy); panelGridDetail.getChildren().add(selectOnMenu); } design_tarif_column: { output = new HtmlOutputText(); output.setValue(domainCaddy.getDurationPrice()); panelGridDetail.getChildren().add(output); } design_information_column: { if (domainCaddy.isCondition()) { HtmlOutputLink outputLink = new HtmlOutputLink(); outputLink.setId("condition_image_" + domainCaddy.getDomainName()); outputLink.setOnclick("blabla();return false;"); outputLink.setTarget("_blank"); outputLink.setValue("info.jsp"); HtmlGraphicImage image = new HtmlGraphicImage(); image.setId("image_image" + domainCaddy.getDomainName()); image.setUrl("/_images/interface/picto_conditions.gif"); outputLink.getChildren().add(image); panelGridDetail.getChildren().add(outputLink); } else { panelGridDetail.getChildren().add(new HtmlPanelGroup()); } } }
Euh...........................
C'est quoi ce code?
Tu es entrain de me dire que tu veux faire de Goto? Parce que cette syntaxe je l'ai jamais vu mais je sais qu'il est possible de faire des goto et j'ai l'impression que c'est ce que tu me montres.
Je me trompe? En tout cas si c'est ca : Deconseiller!!!
Salut,
Ce sont des étiquettes. En générale elles sont utilisées dans des boucles avec les instructions break et continue. Exemple :
Dans cette exemple quand j = 5 alors tu sort de la boucle for sur les j et tu continue ta boucle sur les i. Je ne sais pas si je suis clair
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 test : for(int i = 0; i < 10; i++) { for(int j = 0; j < 10; j++) { if(j==5) { continue test; } } }![]()
Hydraland
C'est des étiquettes pour utiliser la fonction goto, break et continue si je ne m'abuse. Mais c'est pas tellement conseillé.
A+
je dirais même qu'on s'en passe tres bien.Mais c'est pas tellement conseillé.
Suivre le fonctionnement de l'algorythme avec "ca" rend le travail plus compliqué, et d'autant pour le debugage
Salut,
Il s'agit en fait des labels qui peuvent être utilisé pour nommer un bloc ou une ligne de code.
Ils peuvent être utilisé avec les mots-clef break et continue pour spécifier quel condition de contrôle doit être interrompu/reprise...
Exemple :
a++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 mon_while: while (true) { for (int i=0; i<500; i++) { if (une_condition) { break; // Stoppe le for() seulement } if (une_autre_condition) { break mon_while; // Stoppe le while() } } }
Partager