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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  15  16  17  ..  24  25  26  27  28  29
Auteur Sujet :

[Java] Le topic-passage-obligé pour débutants !

n°1836227
Jubijub
Parce que je le VD bien
Posté le 09-01-2009 à 22:13:33  profilanswer
 

Reprise du message précédent :

koskoz a écrit :


Code :
  1. public boolean equals(Object obj) {
  2.         if (obj == null || (this.getClass() != obj.getClass()))
  3.             return false;
  4.         else
  5.             return true;
  6.     }


 


 
un truc tout con : c très moche et lourd comme écriture le return false else return true.
 
fais ça directement :  
 

Code :
  1. public boolean equals(Object obj) {
  2.         return  ! (obj == null || (this.getClass() != obj.getClass()));
  3.     }


 
ensuite tu peux pas vraiment dire que 2 objets sont égaux si ils ont la meme classe...tu peux appeler hashcode() par ex, ou vérifier ce qui au sens de ton objet veut dire l'égalité (par ex la méthode equals de String considère 2 String égales si elles contiennent exactement les meme caractères)
 


---------------
Jubi Photos : Flickr - 500px
mood
Publicité
Posté le 09-01-2009 à 22:13:33  profilanswer
 

n°1836228
masklinn
í dag viðrar vel til loftárása
Posté le 09-01-2009 à 22:18:04  profilanswer
 

Jubijub a écrit :

ensuite tu peux pas vraiment dire que 2 objets sont égaux si ils ont la meme classe...tu peux appeler hashcode() par ex, ou vérifier ce qui au sens de ton objet veut dire l'égalité (par ex la méthode equals de String considère 2 String égales si elles contiennent exactement les meme caractères)


D'où ma réimplémentation du truc, largement suffisante pour des comparators à la con :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°1836231
koskoz
They see me trollin they hatin
Posté le 09-01-2009 à 22:26:12  profilanswer
 

Jubijub a écrit :

 

pour toi c'est évident, pour lui ça l'était pas, CQFD

 

Exact, c'était pas du tout évident pour moi :jap:

 
Jubijub a écrit :

 

un truc tout con : c très moche et lourd comme écriture le return false else return true.

 

fais ça directement :

 
Code :
  1. public boolean equals(Object obj) {
  2.         return  ! (obj == null || (this.getClass() != obj.getClass()));
  3.     }
 

ensuite tu peux pas vraiment dire que 2 objets sont égaux si ils ont la meme classe...tu peux appeler hashcode() par ex, ou vérifier ce qui au sens de ton objet veut dire l'égalité (par ex la méthode equals de String considère 2 String égales si elles contiennent exactement les meme caractères)

 


 

Pour l'égalité, c'est mon prof qui m'a dit de faire ça :sweat:

 

Et pour le coup du return, j'avoue que t'as ligne est beaucoup moins compréhensible pour moi :'(²


Message édité par koskoz le 09-01-2009 à 22:27:12

---------------
Twitter
n°1836232
the real m​oins moins
Posté le 09-01-2009 à 22:29:20  profilanswer
 

Jubijub a écrit :

 

un truc tout con : c très moche et lourd comme écriture le return false else return true.

 

fais ça directement :

 
Code :
  1. public boolean equals(Object obj) {
  2.         return  ! (obj == null || (this.getClass() != obj.getClass()));
  3.     }
 



euh, tu vas te calmer, ta version est pas plus claire hein [:pingouino]
(d'autant que cette methode equals n'a absolument aucun sens et qu'il va devoir avoir ajouter du code dans son else ou en dessous)


Message édité par the real moins moins le 09-01-2009 à 22:29:54

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1836238
Jubijub
Parce que je le VD bien
Posté le 09-01-2009 à 23:07:30  profilanswer
 

masklinn a écrit :


D'où ma réimplémentation du truc, largement suffisante pour des comparators à la con :o


on est d'accord

 
the real moins moins a écrit :


euh, tu vas te calmer, ta version est pas plus claire hein [:pingouino]
(d'autant que cette methode equals n'a absolument aucun sens et qu'il va devoir avoir ajouter du code dans son else ou en dessous)


je parlais pas du contenu du return, mais tu fais que tester le résultat d'une expression booléenne et renvoyer true ou false ça te fait plein de lignes pour rien (dans la mesure où bien sur c'est tout ce que tu fais dans ton if / else)

 

tu noteras d'ailleurs que j'ai du juste en dessous que sa méthode equals avait pas bcp de sens

Message cité 1 fois
Message édité par Jubijub le 09-01-2009 à 23:09:44

---------------
Jubi Photos : Flickr - 500px
n°1836239
the real m​oins moins
Posté le 09-01-2009 à 23:10:00  profilanswer
 

Jubijub a écrit :

je parlais pas du contenu du return, mais tu fais que tester le résultat d'une expression booléenne et renvoyer true ou false ça te fait plein de lignes pour rien


ben entre ça et un return avec une expression ternaire, un ||, 50 parentheses, je serais pas si sur de moi, à ta place


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1836240
Jubijub
Parce que je le VD bien
Posté le 09-01-2009 à 23:12:52  profilanswer
 

the real moins moins a écrit :


ben entre ça et un return avec une expression ternaire, un ||, 50 parentheses, je serais pas si sur de moi, à ta place


 
hum...je parlais juste du fait que entre
 

Code :
  1. if (expression == true) {
  2.    return true;
  3. } else {
  4.    return false;
  5. }


 
et
 

Code :
  1. return (expression);


 
je préfère la seconde...
 
bien sur si ton expression est très complexe tu peux avoir intéret, par clarté, à faire des if imbriqués ou plus si besoin...
mais je répète : je parlais pas de son expression, juste de la notation


---------------
Jubi Photos : Flickr - 500px
n°1836241
the real m​oins moins
Posté le 09-01-2009 à 23:21:25  profilanswer
 

ouais ouais c'est ça .... [:dawao]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1836320
Profil sup​primé
Posté le 10-01-2009 à 13:25:29  answer
 

En java comme ailleurs, on peut tout simplement faire :

Code :
  1. if (expression == true) {
  2.    return true;
  3. }
  4. return false;


Non :??:

n°1836322
masklinn
í dag viðrar vel til loftárása
Posté le 10-01-2009 à 13:32:13  profilanswer
 

Oui. Mais globalement ça rajoute 2 keywords, 3 lignes et une demi-douzaines de tokens pour pas grand choses, c'est complètement équivalent à

Code :
  1. return expression;


Message édité par masklinn le 10-01-2009 à 13:33:07

---------------
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?
mood
Publicité
Posté le 10-01-2009 à 13:32:13  profilanswer
 

n°1839992
cooltwan
Posté le 19-01-2009 à 14:31:55  profilanswer
 

sur une string ça fait quoi :
 

Code :
  1. .replaceFirst("\\W", "" )

n°1840215
tomsoft
Posté le 19-01-2009 à 21:06:09  profilanswer
 

ca remplace la premierre occurence de "\\W" par rien ?
 
enfin j'imagine

n°1840217
masklinn
í dag viðrar vel til loftárása
Posté le 19-01-2009 à 21:09:14  profilanswer
 

cooltwan a écrit :

sur une string ça fait quoi :
 

Code :
  1. .replaceFirst("\\W", "" )



La javadoc, c'est pas pour les chiens

tomsoft a écrit :

ca remplace la premierre occurence de "\\W" par rien ?
 
enfin j'imagine


Sauf que \W est une regex


---------------
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°1840221
masklinn
í dag viðrar vel til loftárása
Posté le 19-01-2009 à 21:22:58  profilanswer
 


[:petrus75]
 
http://en.wikipedia.org/wiki/Regular_expression


---------------
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°1840226
masklinn
í dag viðrar vel til loftárása
Posté le 19-01-2009 à 21:29:02  profilanswer
 


C'est également:

  • Pas une explication de ce que c'est, ta page rappelle rapidement la syntaxe, mais pas à quoi ça sert ou comment ça s'utilise, c'est d'ailleurs indiqué clairement en orange avec un joli panal
  • Spécifique à PHP, donc ça ne va sûrement pas marcher en Java, qui ne prend pas les délimiteurs (stupides) de PHP, force à échapper les backslashes, et définit les flags (m, i, g, ...) différement [: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°1846382
masklinn
í dag viðrar vel til loftárása
Posté le 03-02-2009 à 10:51:59  profilanswer
 

http://leepoint.net/notes-java/ chuis sûr que ça pourrait servir aux visiteurs du topac :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°1849273
koskoz
They see me trollin they hatin
Posté le 10-02-2009 à 08:41:21  profilanswer
 

J'avais commencé à développer une application en swing en utilisant netbeans.
 
Formatage oblige, je réinstalle la dernière version de netbeans et ré importe mon projet. Or maintenant, il ne compile plus, et j'ai bien l'impression que c'est parce que je n'ai plus la même version du jdk qu'avant.
 
J'ai ces erreurs là :
 

Citation :


C:\Users\Koskoz\Dev\Java\DesktopApplication1\src\desktopapplication1\DesktopApplication1View.java:128: cannot find symbol
symbol  : class GroupLayout
location: package javax.swing
        javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
C:\Users\Koskoz\Dev\Java\DesktopApplication1\src\desktopapplication1\DesktopApplication1View.java:245: package javax.swing.LayoutStyle does not exist
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)


 
Mais vu que je ne peux pas toucher au code et que de toute façon je ne sais pas quoi changer, je suis bloqué :/


---------------
Twitter
n°1850050
koskoz
They see me trollin they hatin
Posté le 11-02-2009 à 19:39:22  profilanswer
 

C'était bien un problème de JDK, c'est réglé.
 
Bon, par contre là j'essaye d'ajouter des lignes dans mon applications réalisée avec le GUI de Netbeans.
 
J'ai donc créé cette classe :
 

Code :
  1. public class drawLines extends JPanel {
  2.  
  3.    public void paintComponent(Graphics g) {
  4.        super.paintComponent(g);
  5.        g.drawLine(1, 100, 0, 0);
  6.    }
  7. }


 
Et je fais ensuite ça :
 
getContentPan().add(new drawLines());
 
Mais Netbeans ne reconnait pas getContentPan, et je ne trouve rien sur le net, donc je me pose quelques questions là :o


---------------
Twitter
n°1850064
souk
Tourist
Posté le 11-02-2009 à 20:23:07  profilanswer
 

tu peux essayer getContentPane  
getContentPan ca existe pas :o

n°1850070
koskoz
They see me trollin they hatin
Posté le 11-02-2009 à 20:42:22  profilanswer
 


 
Mes imports sont bien présents ;).
 

souk a écrit :

tu peux essayer getContentPane  
getContentPan ca existe pas :o


 
Ah oui, il manque un "e", merci.
Enfin, ça fonctionne toujours pas mais bon.


---------------
Twitter
n°1850111
souk
Tourist
Posté le 11-02-2009 à 22:45:47  profilanswer
 

mais qu'est ce qui ne fonctionne pas ? fais voir plus de code.

n°1850163
brisssou
8-/
Posté le 12-02-2009 à 08:55:10  profilanswer
 

et si tu as un message d'erreur, ça aidera aussi à comprendre.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1850261
koskoz
They see me trollin they hatin
Posté le 12-02-2009 à 11:54:17  profilanswer
 

Je suis reparti du début, le code généré par Netbeans devenait imbuvable.


---------------
Twitter
n°1850354
koskoz
They see me trollin they hatin
Posté le 12-02-2009 à 14:14:05  profilanswer
 

Dans ce type de menu,  
c'est possible de rajouter les listener après les boucles ?
 

Code :
  1. public class menuBar extends JMenuBar {
  2.  
  3.    String[] fileItems = new String[]{"Nouveau", "Ouvrir", "Suvegarder", "Quitter"};
  4.    String[] editItems = new String[]{"Retour Arrière", "Couper", "Copier", "Coller"};
  5.    String[] helpItems = new String[] {"A Propos"};
  6.    char[] fileShortcuts = {'N', 'O', 'S', 'X'};
  7.    char[] editShortcuts = {'Z', 'X', 'C', 'V'};
  8.  
  9.    public menuBar() {
  10.  
  11.        JMenu fileMenu = new JMenu("Fichier" );
  12.        JMenu editMenu = new JMenu("Edition" );
  13.        JMenu helpMenu = new JMenu("?" );
  14.  
  15.        for (int i = 0; i < fileItems.length; i++) {
  16.            JMenuItem item = new JMenuItem(fileItems[i]);
  17.            item.setAccelerator(KeyStroke.getKeyStroke(fileShortcuts[i],
  18.                    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
  19.            fileMenu.add(item);
  20.        }
  21. }


 
Parce que je ne vois pas trop comment récupérer l'item de mon menu une fois sorti de la boucle.


---------------
Twitter
n°1850371
boulax
Inserer phrase hype en anglais
Posté le 12-02-2009 à 14:31:08  profilanswer
 

http://java.sun.com/j2se/1.4.2/doc [...] JMenu.html


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1850640
koskoz
They see me trollin they hatin
Posté le 13-02-2009 à 01:57:14  profilanswer
 

J'ai déjà regardé dans la javadoc, mais ce que je ne sais pas, c'est quand l'appeler ?


---------------
Twitter
n°1851554
koskoz
They see me trollin they hatin
Posté le 15-02-2009 à 21:51:34  profilanswer
 

Bon, j'ai réussi, un item.addActionListener(new ActionMenu()); dans chaque boucle, puis ensuite dans ActionMenu on récupère l'item avec getActionCommand().


---------------
Twitter
n°1851644
koskoz
They see me trollin they hatin
Posté le 16-02-2009 à 10:32:38  profilanswer
 

Je n'arrive pas à donner une taille et un titre à une sous fenêtre.

 

Ma fenêtre :

Code :
  1. public class AboutBox extends JFrame {
  2.    public AboutBox() {
  3.        JFrame frame = new JFrame("A Propos" );
  4.        frame.setSize(350, 150);
  5.    }
  6. }
 

Et je l'appelle comme ça :
AboutBox aboutBox = new AboutBox();
aboutBox.setVisible(true);


Message édité par koskoz le 16-02-2009 à 10:32:48

---------------
Twitter
n°1851704
boulax
Inserer phrase hype en anglais
Posté le 16-02-2009 à 13:27:22  profilanswer
 

Soit t'etends JFrame (pas bien selon les experts locaux) soit t'en embarque une mais faire les deux comme tu le fais n'a pas de sens.

 

edit: en fait ton code montre une profonde incompréhension, même au niveau java. Tu vois que ta frame ne vis pas en dehors de ton constructeur ?


Message édité par boulax le 16-02-2009 à 13:28:26

---------------
Posté depuis des chiottes, sales. Me gusta.
n°1852116
koskoz
They see me trollin they hatin
Posté le 17-02-2009 à 12:54:25  profilanswer
 

Non, je vois pas trop là :/


---------------
Twitter
n°1852318
Jubijub
Parce que je le VD bien
Posté le 17-02-2009 à 19:35:09  profilanswer
 

essaye de te renseigner sur la notion de scope d'une variable
 
si tu veux qu'une variable vive partout dans une classe, il faut la déclarer en tant que membre de cette classe, avec un truc genre  

Code :
  1. private JFrame frame = null;


 
là en gros le scope de ta variable, c'est le constructeur...essaye et tu verras que tu peux l'utiliser nulle part ailleurs
 
par ailleurs une classe a pas besoin d'étendre JFrame pour utiliser une JFrame. Tu peux enlever le extends JFrame si tu comptes utiliser la composition.


---------------
Jubi Photos : Flickr - 500px
n°1853145
weblook$$
Posté le 19-02-2009 à 20:33:48  profilanswer
 

 

Code :
  1. public class AboutBox extends JFrame {
  2.    public AboutBox() {
  3.        JFrame frame = new JFrame("A Propos" );
  4.        frame.setSize(350, 150);
  5.    }
  6. }


 
humm c'est bon ça comme code lol


Message édité par weblook$$ le 19-02-2009 à 20:34:07
n°1853306
Profil sup​primé
Posté le 20-02-2009 à 08:28:07  answer
 

Jubijub a écrit :

essaye de te renseigner sur la notion de scope d'une variable
 
si tu veux qu'une variable vive partout dans une classe, il faut la déclarer en tant que membre de cette classe, avec un truc genre  

Code :
  1. private JFrame frame = null;


 
là en gros le scope de ta variable, c'est le constructeur...essaye et tu verras que tu peux l'utiliser nulle part ailleurs
 
par ailleurs une classe a pas besoin d'étendre JFrame pour utiliser une JFrame. Tu peux enlever le extends JFrame si tu comptes utiliser la composition.


 
Non je pense qu'il souhaitait avoir un objet JFrame en fait, et que c'est une mauvaise gestion de l'héritage :

Code :
  1. public class AboutBox extends JFrame {
  2.    public AboutBox() {
  3.        super("A propos de..." );
  4.        super.setSize(350, 150);
  5.    }
  6. }

n°1853394
Jubijub
Parce que je le VD bien
Posté le 20-02-2009 à 13:25:58  profilanswer
 

tu as raison, mais ce n'est pas considéré comme étant une super bonne pratique d'hériter de composants Swing, surtout JFrame qui est un objet très complexe


---------------
Jubi Photos : Flickr - 500px
n°1853410
Profil sup​primé
Posté le 20-02-2009 à 14:09:44  answer
 

:jap:

n°1853517
koskoz
They see me trollin they hatin
Posté le 20-02-2009 à 16:19:58  profilanswer
 

Je m'y remet pendant les vacances, là j'avais un sudoku à finir :D


---------------
Twitter
n°1857021
koskoz
They see me trollin they hatin
Posté le 03-03-2009 à 11:00:55  profilanswer
 

Salut tout le monde,
je reviens à la charge avec mes questions qui doivent vous paraître totalement stupide...
 
Donc, j'ai ma fenêtre toute conne :
 

Code :
  1. public class AboutBox {
  2.    public AboutBox() {
  3.        JFrame frame = new JFrame("A Propos" );
  4.        frame.setSize(350, 150);
  5.    }
  6. }


 
Et je l'appelle de cette façon :
 

Code :
  1. if(e.getActionCommand().equals("A Propos" )) {
  2.                 AboutBox aboutBox = new AboutBox();
  3.                 aboutBox.setVisible(true);
  4. }


 
Et bien sûr, ça ne fonctionne pas, ça me sort pleins d'erreurs à l'exécution.
Ca vient de setVisible apparemment : "Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: editeur.AboutBox.setVisible(Z)V".


---------------
Twitter
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  15  16  17  ..  24  25  26  27  28  29

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Java] Outil de gestion de "composants"; GraphEdit "like"[Java/xml] Caractères à la con ds un .xml généré en dom
Cryptage md5 & javaGénération d'images en Java (server side)
[Java] [Resolu] Erreur ODBC État de curseur non valide[JAVA] caractères accentué différents selon OS
[JAVA] Pb affichage caractèrecréer un répertoire en java
copier-coller en javapassage de c++ a php
Plus de sujets relatifs à : [Java] Le topic-passage-obligé pour débutants !


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