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

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] débutant & setvisible

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] débutant & setvisible

n°1043358
ofbdood
Posté le 11-04-2005 à 19:21:56  profilanswer
 

Slt à tous
 
Bon j'ai un peu honte de poser ma question tellement je sens que la réponse va être simple.
Je débute en Java (mes premières heures). Après avoir lu plusieurs tuto et autres docs, je me suis lancé.
J'ai donc installé Jbuilder (java 1.4) et ai créé un petit projet tout bête pour débuter.
 
J'ai également placé un cadre avec un "hello world" à l'interieur grâce à Swing.
 
J'aboutis au code suivant :
 

Code :
  1. package edt;
  2. import javax.swing.JComponent;
  3. import javax.swing.JPanel;
  4. import java.awt.*;
  5. import javax.swing.JLabel;
  6. /**
  7. * <p>Titre : Emploi du temps</p>
  8. *
  9. * <p>Description : Gestion EDT</p>
  10. *
  11. * <p>Copyright : Copyright (c) 2005</p>
  12. *
  13. * <p>Société : </p>
  14. *
  15. * @author
  16. * @version 1.0
  17. */
  18. public class EdtFrame extends JComponent {
  19.     public EdtFrame() {
  20.         try {
  21.             jbInit();
  22.         } catch (Exception ex) {
  23.             ex.printStackTrace();
  24.         }
  25.         this.setBounds(200,200,100,50);
  26.         this.setFocusable(true);
  27.         this.setVisible(true);
  28.     }
  29.     public static void main(String[] args) {
  30.         EdtFrame edtframe = new EdtFrame();
  31.     }
  32.     private void jbInit() throws Exception {
  33.         jPanel1.setBounds(new Rectangle(14, 12, 417, 331));
  34.         jLabel1.setText("Hello world" );
  35.         this.add(jPanel1);
  36.         jPanel1.add(jLabel1);
  37.     }
  38.     JPanel jPanel1 = new JPanel();
  39.     JLabel jLabel1 = new JLabel();
  40. }


 
Aucune erreur à la compilation mais aucune fenêtre n'apparait à l'écran.
J'ai testé avec un "show()" à la place du "setVisible()" mais rien n'y fait (d'ailleurs "show()" est en deprecated apparement)
 
Donc voilà j'ai l'air tout idiot devant ce problème je ne vois vraiment pas d'ou ça vient.
(peut-être du coté de la configuration de jbuilder je ne sais pas trop)
 
Si quelqu'un à une idée je suis preneur :)
 
 
Merci d'avance.


Message édité par ofbdood le 11-04-2005 à 19:22:32
mood
Publicité
Posté le 11-04-2005 à 19:21:56  profilanswer
 

n°1043367
Mo$$$
Posté le 11-04-2005 à 19:31:08  profilanswer
 

public class EdtFrame extends JComponent
 
essaie plutot un extends JFrame
 
et pour le setVisible ya un boolean en argument : setVisible(true)

n°1043370
TheRom_S
Posté le 11-04-2005 à 19:33:12  profilanswer
 

hmm, je pense que le JComponent n'est pas une frame et doit être contenu dans une frame.
donc à la place de extends JComponent, tu peut mettre JFrame.
 
Par contre ensuite dans jbInit, à la place de "this.add(jPanel1);", tu dois mettre
"this.getContentPane().add(jPanel1);" car le contentPane de ta frame est le seul élément qui peut contenir des éléments visibles (à part peut-être pour les menus).
 
Aussi, au final, tu auras ta fenetre "Hello World !" + une mini fenetre vide car ta classe d'entrée sera une JFrame (mini vide) qui en construit une autre (hello world) dans ton main
 
le mieux dans ce cas est de faire deux classes : une pour ta frame et une pour le main qui extends rien du tout


---------------
The Rom's, à votre service
n°1043432
ofbdood
Posté le 11-04-2005 à 21:16:14  profilanswer
 

Ok ça m'a l'air bien là.
Par contre la mini fenêtre dont tu parles elle est normalement visible ? (parce que là moi je vois uniquement ma fenêtre principale, c'est tant mieux mais bon j'aime faire les choses proprement :p)
 
Sinon grand merci à vous 2

n°1043463
TheRom_S
Posté le 11-04-2005 à 21:34:00  profilanswer
 

ah oui c'est vrai
c'est en fait le faux problème que j'avais au début quand je faisais des extends JFrame qui comportaient un élément JFrame  :lol: bien débile quoi  :pfff:  
allez promis, la prochaine fois j'essaie de me rappeler exactement les bêtises que j'ai fait avant de répondre à une question, même si c'est pas gagné ;)


---------------
The Rom's, à votre service
n°1043669
tuxbleu
renie ses origines
Posté le 12-04-2005 à 08:27:04  profilanswer
 

rajoute this.pack(); apres les .add();

n°1043904
ofbdood
Posté le 12-04-2005 à 11:10:42  profilanswer
 

ça permet de faire quoi le this.pack(); ?

n°1043916
tuxbleu
renie ses origines
Posté le 12-04-2005 à 11:19:29  profilanswer
 

dans mon tout premier cours de Swing, ya une ligne ou il est écrit qu'il faut utiliser la methode pack() après les add() pour que l'affichage se fasse correctement.
Je suis bête et discipliné...

n°1043926
ofbdood
Posté le 12-04-2005 à 11:24:58  profilanswer
 

Ha d'accord et bien si tu le dis :)
 
Par contre effectivement quand je sélectionne l'onglet "conception" dans jbuilder il m'ouvre mon appli mais ça bug complètement (fond transparent qui déconne un peu). J'ai essayé de rajouter "this.pack();" mais ça ne change rien.


Message édité par ofbdood le 12-04-2005 à 11:29:34
n°1043958
TheRom_S
Posté le 12-04-2005 à 11:43:44  profilanswer
 

pack() sert à dimensionner le container au format des elements qu'il contient. une sorte d'autofit


---------------
The Rom's, à votre service
mood
Publicité
Posté le 12-04-2005 à 11:43:44  profilanswer
 

n°1043970
tuxbleu
renie ses origines
Posté le 12-04-2005 à 11:53:18  profilanswer
 

TheRom_S a écrit :

pack() sert à dimensionner le container au format des éléments qu'il contient. une sorte d'autofit


 
merci, je sais maintenant à quoi ca sert :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] débutant & setvisible

 

Sujets relatifs
debutant : Affichage variable dans url- problème d'accentsaide Java au bout du pointeur
[java]listener de modification[java] organiser une interface...
une jolie feature de java ![java] clone() [partielement resolu]
debutant comment faire plusieurs Login et Passpb class [débutant]
java et pointeurs sur fonction[JAVA]Doc + utils pour TCP/IP?
Plus de sujets relatifs à : [JAVA] débutant & setvisible


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR