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

 


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

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

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

Reprise du message précédent :
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 03-03-2009 à 11:00:55  profilanswer
 

n°1857027
koskoz
They see me trollin they hatin
Posté le 03-03-2009 à 11:18:57  profilanswer
 

Voilà pourquoi avant j'étendais JDialog, mais on m'a dit plus haut qu'il ne fallait pas étendre de classes de ce type, donc je ne sais plus quoi faire [:spamafote]


---------------
Twitter
n°1857028
koskoz
They see me trollin they hatin
Posté le 03-03-2009 à 11:19:23  profilanswer
 


 
Ah, je ne connaissais pas cette notation.


---------------
Twitter
n°1857034
koskoz
They see me trollin they hatin
Posté le 03-03-2009 à 11:35:16  profilanswer
 

It works [:shay]
 
Merci :jap:


---------------
Twitter
n°1857167
cooltwan
Posté le 03-03-2009 à 15:40:49  profilanswer
 

euh tente plutôt de faire un AboutBox qui extends JDialog ...

n°1857175
koskoz
They see me trollin they hatin
Posté le 03-03-2009 à 15:57:04  profilanswer
 

On m'a pas conseillé de le faire justement :/


---------------
Twitter
n°1857209
Profil sup​primé
Posté le 03-03-2009 à 17:45:18  answer
 

EDIT : j'avais pas vu les réponses  [:prozac]


Message édité par Profil supprimé le 03-03-2009 à 17:45:53
n°1857288
Jubijub
Parce que je le VD bien
Posté le 03-03-2009 à 21:40:56  profilanswer
 

koskoz a écrit :

On m'a pas conseillé de le faire justement :/


 
ce que t'as montré cytrouille est la bonne solution : t'as 2 choix en gros, aucun n'est "faux" en terme de POO, mais il y en a qui sont plus recommandés que d'autres...
 
par contre tu devrais réviser les notions de scope de variable, membres d'un objet, etc...
 
parce que ton appel à setVisible() n'a aucun sens si ton objet n'hérite pas de JFrame.
 
En gros t'as les 2 choix dont on a parlé :  
soit ton objet c'est une "capsule", qui contient une JFrame : si tu veux rendre la JFrame visible, il faut obtenir une référence de cette JFrame, et appeller la méthode setVisible() dessus. C'est ce que propose Cytrouille
 
soit ton objet hérite de JFrame, et étant donc une JFrame, tu peux appeler setVisible() n'importe où dedans
 
mais tu peux pas mixer les 2 approches, ça n'a aucun sens


---------------
Jubi Photos : Flickr - 500px
n°1857472
koskoz
They see me trollin they hatin
Posté le 04-03-2009 à 14:21:09  profilanswer
 

Oui, ça j'ai bien compris maintenant :)


---------------
Twitter
n°1857600
koskoz
They see me trollin they hatin
Posté le 04-03-2009 à 17:12:39  profilanswer
 

J'avais trouvé un lien sur la gestion des différentes "couches" d'une fenêtre, mais plus moyen de le retrouver.

 

J'aimerai superposer mes lignes à ma feuille blanche, mais la feuille n'apparait plus.

 
Code :
  1. // On affiche la feuille blanche
  2. DrawSheet sheet = new DrawSheet();
  3. frame.getContentPane().add(sheet);
  4. // Puis la partition
  5. DrawPartition partition = new DrawPartition();
  6. frame.getContentPane().add(partition);


Message édité par koskoz le 04-03-2009 à 17:12:58

---------------
Twitter
mood
Publicité
Posté le 04-03-2009 à 17:12:39  profilanswer
 

n°1857638
Jubijub
Parce que je le VD bien
Posté le 04-03-2009 à 18:07:49  profilanswer
 

oula...
 
c'est quoi comme objet ta "DrawSheet" ? ...vu ce que j'en compris, ça doit être un JPanel de couleur blanche, c'est ça ?
 
si oui il te faut ajouter ce JPanel au contentPane de ta frame. et ensuite tu ajoutes les éléments à ta drawsheet
 
là donc ton code tu ajoutes la "partition" en dessous de la feuille (par défaut le contentPane a un layout qui fait que les éléments s'ajoutent séquentiellement de haut en bas, sauf ordre contraire)
 
Je te suggère de lire à propos des JPanel, et des gestionnaires de Layout...


---------------
Jubi Photos : Flickr - 500px
n°1857640
koskoz
They see me trollin they hatin
Posté le 04-03-2009 à 18:10:54  profilanswer
 

Jubijub a écrit :

oula...
 
c'est quoi comme objet ta "DrawSheet" ? ...vu ce que j'en compris, ça doit être un JPanel de couleur blanche, c'est ça ?
 
si oui il te faut ajouter ce JPanel au contentPane de ta frame. et ensuite tu ajoutes les éléments à ta drawsheet


 
Jusque là, c'est ce que je fais non ?
 

Jubijub a écrit :

là donc ton code tu ajoutes la "partition" en dessous de la feuille (par défaut le contentPane a un layout qui fait que les éléments s'ajoutent séquentiellement de haut en bas, sauf ordre contraire)
 
Je te suggère de lire à propos des JPanel, et des gestionnaires de Layout...


 
Justement non, la feuille n'est pas visible alors que la partition oui.


---------------
Twitter
n°1858606
Jubijub
Parce que je le VD bien
Posté le 06-03-2009 à 18:10:30  profilanswer
 

lis sur les gestionnaire de layout : les containers, comme le JPanel, utilisent un gestionnaire de Layout. Celui-ci ordonnance les composants que tu ajoutes au container selon des règles de positionnement, et de dimensionnement. Certains gestionnaire se basent sur la preferedSize du composant, d'autre sur sa minimumSize, etc...
 
si tu ajoutes un composant qui a une *size à 0, ben tu le verras pas, CQFD.
En l'occurence, je crois qu'un JPanel vide a ses size à 0, ce qui fait que tu le vois pas.
 
Tu devrais réellement lire le java tutorial sur la partie JPanel, et le chapitre sur les layout (genre BorderLayout, GridBagLayout, etc...) pour comprendre ce qui foire, mais le comportement que tu obtiens est tout à faire normal.
 
Je te suggère pour tester de jouer avec des JLabel avec des fonds de couleurs pouvoir comment marche le positionnement et le dimensionnement


---------------
Jubi Photos : Flickr - 500px
n°1859341
brisssou
8-/
Posté le 09-03-2009 à 15:07:29  profilanswer
 

mets des '/', t'auras plus de problème

 

le chemin, c 'est le nom du fichier, me gourre-je ?


Message édité par brisssou le 09-03-2009 à 15:08:07

---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1859364
brisssou
8-/
Posté le 09-03-2009 à 15:34:47  profilanswer
 

non, mais dans ton fichier de conf, et tout partout, tu oublies le caractère '\' comme séparateur de chemin, et tu utilises '/' systématiquement.
 
sinon, j'ai pas compris le reste.
 
erratum :

Citation :

le chemin, c 'est le nom du fichier, me gourre-je ?

il fallait lire

Citation :

le chemin, c'est avec le nom du fichier, me gourre-je ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1861389
koskoz
They see me trollin they hatin
Posté le 13-03-2009 à 22:32:43  profilanswer
 

J'ai un problème avec des boutons avec icônes.
 
Je les créés comme ça :

Code :
  1. Icon blancheImg = new ImageIcon("blanche.gif" );
  2. JButton blanche = new JButton("Blanche", blancheImg);


 
Mais le bouton apparait tronqué, sans l'image :
http://hfr-rehost.net/self/pic/f5c0ba679e8b84e49b93b5e25e0db975043cfc21.png


---------------
Twitter
n°1861392
Jubijub
Parce que je le VD bien
Posté le 13-03-2009 à 22:40:35  profilanswer
 

t'es sur qu'il trouve tes images ?


---------------
Jubi Photos : Flickr - 500px
n°1861395
koskoz
They see me trollin they hatin
Posté le 13-03-2009 à 23:10:06  profilanswer
 

Mes images sont dans le même dossier que mes sources.


---------------
Twitter
n°1861396
the real m​oins moins
Posté le 13-03-2009 à 23:12:04  profilanswer
 

ça ne repond *vraiment pas* à la question


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1861398
koskoz
They see me trollin they hatin
Posté le 13-03-2009 à 23:17:48  profilanswer
 

Même dossier, et le nom est bon.
Comment je peux être plus sûr ? :o


---------------
Twitter
n°1861442
Jubijub
Parce que je le VD bien
Posté le 14-03-2009 à 09:50:49  profilanswer
 

koskoz a écrit :

Même dossier, et le nom est bon.
Comment je peux être plus sûr ? :o


 

Code :
  1. File test = new File("blanche.gif" );
  2. System.out.println(test.exists());


 


---------------
Jubi Photos : Flickr - 500px
n°1861443
koskoz
They see me trollin they hatin
Posté le 14-03-2009 à 09:56:15  profilanswer
 

Il ne trouve pas l'image (false) :heink:
Là je ne comprend vraiment pas, l'image et la source sont à la même racine, le nom et l'extension de l'image sont bons...
 
http://hfr-rehost.net/preview/self/pic/ad2afb0e588739137f17905bf954bd46e0aba75a.png


---------------
Twitter
n°1861448
Jubijub
Parce que je le VD bien
Posté le 14-03-2009 à 10:24:16  profilanswer
 

essaye dans un premier temps en mettant un chemin absolu...
 
et ensuite renseigne toi sur le classpath :)...elles doivent pas etre avec le source tes images...en général le projet s'execute avec en contexte le chemin du projet, ou des classes...tes images doivent être là dedans...
 
si tu veux savoir où est le contexte, fais tout simplement un new File(), et demande à voir le absolutePath de ce file : ça te dira où placer tes images...


---------------
Jubi Photos : Flickr - 500px
n°1861460
koskoz
They see me trollin they hatin
Posté le 14-03-2009 à 12:10:07  profilanswer
 

Ca fonctionne effectivement bien avec le chemin absolu, je vais regarder du côté du classpath.


---------------
Twitter
n°1861469
koskoz
They see me trollin they hatin
Posté le 14-03-2009 à 12:33:13  profilanswer
 

J'ai l'impression que netbeans fait n'importe quoi avec la gestion des images là...
Il prend mes images un dossier avant mes sources, et je ne sais pas comment lui dire d'aller dans le dossier src pour récupérer les images.


Message édité par koskoz le 14-03-2009 à 12:33:43

---------------
Twitter
n°1861489
Jubijub
Parce que je le VD bien
Posté le 14-03-2009 à 14:03:07  profilanswer
 

.\src\blanche.gif ?
 
netbeans réagit normalement pour le coup


---------------
Jubi Photos : Flickr - 500px
n°1861499
the real m​oins moins
Posté le 14-03-2009 à 14:36:25  profilanswer
 

c'est ici la course aux boulets?
 


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1861503
Jubijub
Parce que je le VD bien
Posté le 14-03-2009 à 14:51:40  profilanswer
 

c'est pas hyper constructif comme commentaire ça -- :o


---------------
Jubi Photos : Flickr - 500px
n°1861559
koskoz
They see me trollin they hatin
Posté le 14-03-2009 à 19:24:26  profilanswer
 

Jubijub a écrit :

.\src\blanche.gif ?
 
netbeans réagit normalement pour le coup


 
Ouais mais c'est pas dégueulasse de foutre une url comme ça ?
Ce que je voulais faire, c'était avoir un package ressources, qui contient toutes mes images, et ne mettre que le nom et l'extension de l'image dans le code.


---------------
Twitter
n°1861634
koskoz
They see me trollin they hatin
Posté le 14-03-2009 à 22:40:49  profilanswer
 

Que l'image ne se charge pas, ok, mais pourquoi ne me sort-il pas l'erreur ?

 
Code :
  1. try{
  2.     key[0] = ImageIO.read(
  3.                 getClass().getClassLoader().getResource("cledesol.gif" )
  4.             );
  5. }
  6. catch(Exception e){
  7.     System.out.println("Impossible de charger l'image" );
  8.     System.exit(0);
  9. }


Message édité par koskoz le 14-03-2009 à 22:41:37

---------------
Twitter
n°1861642
Jubijub
Parce que je le VD bien
Posté le 14-03-2009 à 23:19:09  profilanswer
 

parce que getResource ne renvoit pas d'exception si il ne trouve rien...
 
par contre ImageIO.read() devrait...je comprends pas bien pourquoi là
 
Affiche ce que renvoit getResource() ...ça doit te renvoyer un objet URL, dont tu dois pouvoir extraire un chemin...on peut déjà voir si il la trouve la ressource


---------------
Jubi Photos : Flickr - 500px
n°1861644
koskoz
They see me trollin they hatin
Posté le 14-03-2009 à 23:37:44  profilanswer
 

Mais je suis vraiment sûr que c'est un problème lié à netbeans ou la gestion des images, parce qu'un membre de mon groupe a exactement le même code, sauf qu'il n'a pas géré son projet netbeans de la même manière, et l'image s'affiche chez lui...
 
Enfin je me pencherai plus sur la question demain, va vraiment falloir que j'avance sur ce projet...


---------------
Twitter
n°1861768
koskoz
They see me trollin they hatin
Posté le 15-03-2009 à 16:12:03  profilanswer
 

Ceci à l'exécution me retourne un "java.lang.IndexOutOfBoundsException: invalid hotSpot".
 

Code :
  1. static class ChangeCursor implements ActionListener {
  2.  
  3.        public void actionPerformed(ActionEvent e) {
  4.            Image image = null;
  5.            Toolkit toolkit = Toolkit.getDefaultToolkit();
  6.  
  7.            if (e.getActionCommand().equals("Blanche" )) {
  8.                image = toolkit.getImage("src/blanche.gif" );
  9.            } else {
  10.                image = toolkit.getImage("src/noire.gif" );
  11.            }
  12.            Cursor cursor = toolkit.createCustomCursor(
  13.                    image, new Point(frame.getX(), frame.getY()), "img" );
  14.            frame.setCursor(cursor);
  15.        }
  16.    }


 
J'ai bien compris que ça vient du paramètre de la fonction qui prend le hotspot, mais ce que je n'ai pas bien compris, c'est à quoi sert ce paramètre et ce que je dois mettre dedans :??:


---------------
Twitter
n°1861803
koskoz
They see me trollin they hatin
Posté le 15-03-2009 à 18:04:01  profilanswer
 

Hum, si j'ai bien compris c'est le point d'action du curseur c'est bien ça ?


---------------
Twitter
n°1861815
koskoz
They see me trollin they hatin
Posté le 15-03-2009 à 18:46:38  profilanswer
 

C'est bon, c'est bien les coordonnées du point d'action du curseur :jap:


---------------
Twitter
n°1861848
koskoz
They see me trollin they hatin
Posté le 15-03-2009 à 19:35:15  profilanswer
 

Bon,
je ne comprend toujours pas pourquoi ma clé de sol ne s'affiche pas.
 
J'ai ré écris toute la classe, car la version précédente me paraissait assez bizarre :
 

Code :
  1. import java.awt.Image;
  2. import javax.imageio.*;
  3. import java.io.File;
  4. import java.awt.image.BufferedImage;
  5.  
  6. /**
  7. *
  8. * @author Koskoz
  9. */
  10. public class DrawKey {
  11.  
  12.    BufferedImage img;
  13.  
  14.    public void DrawKey() {
  15.        try {
  16.            img = ImageIO.read(new File("src/cledesol.gif" ));
  17.        } catch (Exception e) {
  18.            System.out.println("Impossible de charger l'image" );
  19.            System.exit(0);
  20.        }
  21.    }
  22.  
  23.    public Image getImage() {
  24.        return this.img;
  25.    }
  26. }


 
Et c'est ici qu'est est sensée apparaitre :
 

Code :
  1. import javax.swing.JPanel;
  2. import java.awt.*;
  3.  
  4. /**
  5. *
  6. * @author Koskoz
  7. */
  8. public class DrawPartition extends JPanel {
  9.  
  10.    public void paintComponent(Graphics g) {
  11.         DrawKey ti = new DrawKey();
  12.  
  13.         super.paintComponent(g);
  14.  
  15.         // Premiere ligne
  16.  
  17.         // Cle de sol
  18.         g.drawImage(ti.getImage(), 80, 65, null);
  19.  
  20.         // Verticales
  21.         g.drawLine(224,70,224,130);
  22.         g.drawLine(383,70,383,130);
  23.         g.drawLine(542,70,542,130);
  24.         // Horizontales
  25.         g.drawLine(65,70,700,70);
  26.         g.drawLine(65,85,700,85);
  27.         g.drawLine(65,100,700,100);
  28.         g.drawLine(65,115,700,115);
  29.         g.drawLine(65,130,700,130);
  30.  
  31.  
  32.         // Deuxieme ligne
  33.  
  34.         // Cle de sol
  35.         g.drawImage(ti.getImage(), 80, 155, null);
  36.  
  37.         // Verticales
  38.         g.drawLine(224,160,224,220);
  39.         g.drawLine(383,160,383,220);
  40.         g.drawLine(542,160,542,220);
  41.         // Horizontales
  42.         g.drawLine(65,160,700,160);
  43.         g.drawLine(65,175,700,175);
  44.         g.drawLine(65,190,700,190);
  45.         g.drawLine(65,205,700,205);
  46.         g.drawLine(65,220,700,220);
  47.  
  48.  
  49.         // Troisieme ligne
  50.  
  51.         // Cle de sol
  52.         g.drawImage(ti.getImage(), 80, 245, null);
  53.  
  54.         // Verticales
  55.         g.drawLine(224,250,224,310);
  56.         g.drawLine(383,250,383,310);
  57.         g.drawLine(542,250,542,310);
  58.         // Horizontales
  59.         g.drawLine(65,250,700,250);
  60.         g.drawLine(65,265,700,265);
  61.         g.drawLine(65,280,700,280);
  62.         g.drawLine(65,295,700,295);
  63.         g.drawLine(65,310,700,310);
  64.  
  65.  
  66.         // Quatrieme ligne
  67.  
  68.         // Cle de sol
  69.         g.drawImage(ti.getImage(), 80, 335, null);
  70.  
  71.         // Verticales
  72.         g.drawLine(224,340,224,400);
  73.         g.drawLine(383,340,383,400);
  74.         g.drawLine(542,340,542,400);
  75.         // Horizontales
  76.         g.drawLine(65,340,700,340);
  77.         g.drawLine(65,355,700,355);
  78.         g.drawLine(65,370,700,370);
  79.         g.drawLine(65,385,700,385);
  80.         g.drawLine(65,400,700,400);
  81.  
  82.  
  83.         // Cinquieme ligne
  84.  
  85.         // Cle de sol
  86.         g.drawImage(ti.getImage(), 80, 425, null);
  87.  
  88.         // Verticales
  89.         g.drawLine(224,430,224,490);
  90.         g.drawLine(383,430,383,490);
  91.         g.drawLine(542,430,542,490);
  92.         // Horizontales
  93.         g.drawLine(65,430,700,430);
  94.         g.drawLine(65,445,700,445);
  95.         g.drawLine(65,460,700,460);
  96.         g.drawLine(65,475,700,475);
  97.         g.drawLine(65,490,700,490);
  98.     }
  99. }


 
Cette classe n'est pas de moi par contre [:cosmoschtroumpf]
 
Mais ce qui m'étonne vraiment, c'est que je n'ai pas le message comme quoi l'image n'a pas pu se charger...


---------------
Twitter
n°1861853
astrojojo
Editeur compulsif
Posté le 15-03-2009 à 19:52:23  profilanswer
 

Code :
  1. public void DrawKey()

c'est ton constructeur O_o ? Parce que normalement c'est

Code :
  1. public DrawKey()


Message édité par astrojojo le 15-03-2009 à 19:55:20
n°1861873
koskoz
They see me trollin they hatin
Posté le 15-03-2009 à 20:50:28  profilanswer
 

[:prozac]
 
Merci.


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

 Page :   1  2  3  4  5  ..  16  17  18  ..  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)