TUTO Java : Implémentations d'interfaces

  Рет қаралды 16,730

Dominique Liard

Dominique Liard

Күн бұрын

Пікірлер: 20
@guillaumegras868
@guillaumegras868 4 жыл бұрын
Des tutos super clair que je découvre aujourd'hui en cherchant les avantages et inconvénients sur une interface par rapport à une classe abstraite ... et réciproquement.
@Anto9117
@Anto9117 2 жыл бұрын
très bonne vidéo, merci :)
@lawan8349
@lawan8349 7 жыл бұрын
magnifique!!! bravo continuez à nous faire aimer vos cours , c'est un délice
@marocaintoutelavie
@marocaintoutelavie 6 жыл бұрын
Merci infiniment pour vos explications bien détaillés
@ijjouelmazoud9407
@ijjouelmazoud9407 6 жыл бұрын
Merci sur votre tutoriel ,bon explication
@teleprogresteto2192
@teleprogresteto2192 7 жыл бұрын
Vos cours sont pédagogiques. Merci
@houdabenabdallah-j5b
@houdabenabdallah-j5b 11 ай бұрын
merci
@krakowjr8574
@krakowjr8574 3 жыл бұрын
Bonjour, merci pour ce tuto :) Dans un GUI, quand on a plusieurs objets types différents qui ont besoin de listeners (combo box, spinner, boutons...) c est quelle(s) façon(s) d implémenter ces listeners qui serait la plus adaptée ? Inner class ? une classe normale ? ...
@thomasm4755
@thomasm4755 3 жыл бұрын
merci beaucoup pour ce tuto, grace a vous j'ai pas eu une bonne note :)
@codewithme8260
@codewithme8260 4 жыл бұрын
the best
@ivantad
@ivantad 7 жыл бұрын
Merci Dominique pour ces super tutos ! J'ai cependant un souci avec l'exemple2 que je ne parviens pas à résoudre: Dans la classe BtnClickMeListener(), j'ai bien déclaré : JFrame frame = (JFrame) btn.getTopLevelAncestor(); le ... frame.setTitle(btn.getText()); ... fonctionne bien, par contre, je n'ai pas accès à ... frame.btnActivateMe malgré l'avoir rendu public dans Example2.java frame.btnActivateMe.setText("hello"); => btnActivateMe cannot be resolved or is not a field Aurais-tu une idée ?
@FR-iv1xw
@FR-iv1xw 7 жыл бұрын
Bonjour. Malheureusement je bloque dès le début de la vidéo. En effet, je ne comprends pas à quoi correspond le this à la ligne de code suivante :" this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);". Puis bien évidemment dans les autres cas ou this est utilisé :"this.setSize(600,400);" etc. Enfin dans le cas ou this est utilisé dans la ligne de code suivante : btnClickMe.add(this). Ces this font-il référence un objet instancié par la classe exemple ? suis-je totalement à l'ouest ? ;) Par ailleurs, lorsque l'on fait "contentPane.setLayout(new FlowLayout)" cela revient il à : "contentPane.setLayout(FlowLayout flow=new FlowLayout)". En cherchant un peu j'ai pu comprendre que cela revenait grosso modo au même ? est-ce le cas ? J'en conviens cela fait énormément de questions :/ ... Mais je te suis très reconnaissant pour le boulot que tu fournis. Grace à toi je me réconcilie avec la POO et espère (dans 100 ans) arriver à ton niveau. Merci encore !
@DominiqueLiard06
@DominiqueLiard06 7 жыл бұрын
Bonjour. En fait c'est simple. Dans une méthode, this représente l'objet (l'instance) sur lequel la méthode est invoquée. A fortiori, dans un constructeur, this représente l'objet en cours d'initialisation. Donc ici, this représente la fenêtre en cours de construction/initialisation. En fait, ce this n'est pas forcément obligatoire (à défaut c'est this qui est considéré), mais perso, j'aime bien rappeler sur quel objet de travail. Petit conseil, regarde de nouveau ce tuto qui doit en parler : kzbin.info/www/bejne/g4bQlKSfgsibi6c Bon courage. Dominique
@FR-iv1xw
@FR-iv1xw 7 жыл бұрын
Merci dominique !
@melhemhamade4210
@melhemhamade4210 3 жыл бұрын
Merci! Dommage et incompréhensible le nombre peu élevé de vos abonnés.
@surfeurdestemps3193
@surfeurdestemps3193 7 жыл бұрын
Bonjour, en faisant un petit déboguage dans la méthode actionPerformed et en regardant l'ensemble des valeurs liés aux évenements (et il y a en beaucoup [surtout dans event.source?] lol), je me suis aperçu qu'il existe une méthode "getActionCommand( )" et cette méthode retourne justement un string, je ne connais pas la finalité de cette méthode par rapport à la méthode getText(). Cette méthode getActionCommand( ) retourne le texte du bouton cliqué. Du coup le switch devient possible switch(event.getActionCommand()) { case "Bouton 1": System.out.println("Bouton 1 cliqué"); break; case "Bouton 2": System.out.println("Bouton 2 cliqué"); break; case "Bouton 3": System.out.println("Bouton 3 cliqué"); break; default: throw new IllegalArgumentException("Aucun bouton cliqué: " + event); }] j'ai mis un default mais je suis me suis inspiré de la javadoc API sur switch et string car je ne savais pas quoi mettre...je pense que le default n'aura jamais lieu en faite car cliquer en dehors du bouton ne gere pas cet event(en tout cas pour l'instant...)
@DominiqueLiard06
@DominiqueLiard06 7 жыл бұрын
Bonjour. Un petit conseil, évite getActionCommand et getText : c'est deux méthodes renvoient des chaînes de caractères et comparer des string n'est pas très performant. Sur d'autre type d'événements (MouseEvent) ce serait très pénalisant. Préfère utiliser event.getSource() qui renvoit un pointeur sur l'éméteur de l'événement. Comparer des pointeur c'est plus éfficace.
@surfeurdestemps3193
@surfeurdestemps3193 7 жыл бұрын
Ah ok merci. Je t'avouerai que la gestion des pointeurs n'a jamais été mon fort que je faisais un peu de C. Là je comprend mieux, event.getSource() renvoit une référence vers l'objet émetteur(un hashcode). Pourtant ton idée de départ avec le switch nous aurait bien facilité la tâche. surtout que dans mes "case" du switch j'avais aussi rajouter this.setTitle("Bouton x"); De plus , en tentant de genérer un 4eme bouton avec WindowBuilder, il est vrai que la génération de code automatique ressemble à "btnBouton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Bouton 4 cliqué"); } });" Et donc comme tu l'avais dit, avec une classe anonyme (je ne connaissais pas cette notion).Ce serait donc la meilleur optimisation possible. En faite, je m'interroge sur l'organisation de code, je pense par exemple à l'idée de départ qui consiterait à organiser son projet en mettant l'ensemble des écouteurs dans un package, un package pour les containers et les components puis d'instancier de extérieures en utilisant les interfaces(non GUI)...faire un mixte avec les classes anonymes
@DominiqueLiard06
@DominiqueLiard06 7 жыл бұрын
Peut-être devrais tu aussi suivre ce tuto : www.youtube.com/watch?o=U&video_id=DjHC-C-GXUc Il compléte les techniques pouvant permettre de coder un gestionnaire d'événements. Peut-être que ce complément te sera utile dans ta réflexion.
@sylvaing4866
@sylvaing4866 6 жыл бұрын
J'ai pensé à une autre solution: celle d'un listerner dans une classe externe avec un constructeur qui prend en parametre la classe qui appelle: Dans la classe MyJframeCaller qui porte le button on fait btnClickMe.addActionListener(new BtnClickMeListenerWithCaller(this)); public class BtnClickMeListenerWithCaller implements ActionListener { private MyJframeCaller caller = null; public BtnClickMeListenerWithCaller(MyJframeCaller caller) { this.caller = caller; } @Override public void actionPerformed(ActionEvent arg0) { caller.setTitle("Mon title"); } }
TUTO Java : Expressions Lambdas et références sur méthodes
44:51
Dominique Liard
Рет қаралды 21 М.
Практический курс по SQL для начинающих - #1 Введение в PostgreSQL
2:06:31
EngineerSpock - IT & программирование
Рет қаралды 670 М.
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
BAYGUYSTAN | 1 СЕРИЯ | bayGUYS
36:55
bayGUYS
Рет қаралды 1,9 МЛН
Guide Ultime : Filmer des Vidéos Drone de Qualité PRO avec DJI !
17:00
Formation Pro Drone
Рет қаралды 107
JAVA (Intermédiaire) - 32 - Les interfaces en Java
15:27
LES TEACHERS DU NET
Рет қаралды 91 М.
TUTO Java : Aspects avancés sur la définition d'interfaces Java
31:18
TUTO Java : Introduction au mécanisme d'exceptions en Java
38:16
Dominique Liard
Рет қаралды 11 М.
TUTO Java : Méthodes abstraites, classes abstraites et interfaces
36:36
JAVA (Intermédiaire) - 37 - Les classes internes
9:59
LES TEACHERS DU NET
Рет қаралды 24 М.
TUTO Java : Mise en oeuvre de méthodes récursives
17:31
Dominique Liard
Рет қаралды 10 М.
Dependency Injection, The Best Pattern
13:16
CodeAesthetic
Рет қаралды 901 М.
TUTO Java : Les tableaux Java
19:56
Dominique Liard
Рет қаралды 23 М.
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН