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

  FORUM HardWare.fr
  Programmation
  Java

  [Résolu] Application avec multiples interfaces graphiques

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Application avec multiples interfaces graphiques

n°1540225
SatanKoRn
J'T'A'M !
Posté le 08-04-2007 à 15:55:36  profilanswer
 

Bonjour,
 
je développe une application avec de nombreuses interfaces graphiques. Je veux dire, globalement, je n'ai qu'une fenêtre. Mais ce qu'elle contient, change beaucoup. Evidemment hein... genre un formulaire, puis une table, puis une liste, etc... Cependant, comment implémenter tout ça ?  
 
Je pensais créer différents JPanel pour chacune des interfaces, puis via le contrôleur, changer le panel de la fenêtre. Mais je sais pas si ça peut marcher, si c'est une bonne idée et s'il y a une meilleure manière de faire.
 
Merci d'avance pour vos réponses.
 
A+


Message édité par SatanKoRn le 12-04-2007 à 11:04:21

---------------
Matt
mood
Publicité
Posté le 08-04-2007 à 15:55:36  profilanswer
 

n°1540230
Jubijub
Parce que je le VD bien
Posté le 08-04-2007 à 16:09:50  profilanswer
 

Tu as un layout fait exprès pour cette problématique :  
Le CardLayout : http://java.sun.com/docs/books/tut [...] /card.html
 
Tu déclenches le changement de cartes à l'aide d'une combo, d'onglets, de ce que tu veux en fait...
 
De toute façon tu as franchement intéret à séparer tes écrans différents dans ton code...sinon après c le bordel, même si des fois c'est  tentant de partager des comportements ou des morceaux d'interface...c'est ce qui me gène tjs avec Swing, je n'ai pas trouvé de moyen de partager du code simplement entre fenetre...


---------------
Jubi Photos : Flickr - 500px
n°1540237
SatanKoRn
J'T'A'M !
Posté le 08-04-2007 à 16:57:55  profilanswer
 

Merci pour ta réponse rapide. J'ai compris le fonctionnement du CardLayout. Cependant, j'aimerais par exemple que quand tu es sur le premier panel et que tu cliques sur un bouton, tu passes au panel suivant. Donc ton bouton n'est plus là après. Or avec le CardLayout, ce ne serait pas trop ça. Mais je dois pouvoir adapter un peu pour que ça joue. Non ? :-S


---------------
Matt
n°1540239
Jubijub
Parce que je le VD bien
Posté le 08-04-2007 à 17:06:05  profilanswer
 

ben précisément, ton bouton ne doit pas être dans ton cardlayout...
 
en fait il faut que tu aies un JPanel "ecran" qui ait le CardLayout, et ce JPanel  doit lui même être dans un autre panel, qui contiendra donc le panel écran, mais aussi tes menus, le moyen de changer le panel affiché dans le cardLayout, etc...
 
c'est d'ailleurs ce qu'ils font dans l'exemple : le cardLayout est ajouté à un autre JPanel, qui lui a un BorderLayout


---------------
Jubi Photos : Flickr - 500px
n°1540240
SatanKoRn
J'T'A'M !
Posté le 08-04-2007 à 17:07:45  profilanswer
 

oui je comprends (je crois). Mais je n'ai pas envie d'avoir un bouton, ou une liste déroulante hors de l'écran. c'est comme si je voulais que l'écran entier change. Donc pas de bouton, pas de liste, pas de tab.


---------------
Matt
n°1540244
Jubijub
Parce que je le VD bien
Posté le 08-04-2007 à 17:27:19  profilanswer
 

heu la limite du card layout elle se voit pas hein...je comprends pas ton problème...
 
ou alors tu fais la chose suivante : tu réajoutes ton bouton à chaque "card"
 
et sinon quand tu as plusieurs écrans, une logique peut aussi être de faire que chaque écran amène au suivant (si c'est un workflow)


---------------
Jubi Photos : Flickr - 500px
n°1540309
SatanKoRn
J'T'A'M !
Posté le 08-04-2007 à 20:38:57  profilanswer
 

Quelque chose du genre fonctionnerait-il ?
 
 public void setPanelCentre(JPanel pan){
        panel_centre.removeAll();                
        panel_centre.add(pan);      
        panel_centre.revalidate();
    }
 
Ou est-il préférable d'utiliser le CardLayout ?


---------------
Matt
n°1540323
Jubijub
Parce que je le VD bien
Posté le 08-04-2007 à 21:59:53  profilanswer
 

ca devrait marcher sur le principe, après je sais pas si le cardLayout est pas optimisé pour gérer ça...
 
là je pense qu'il faut que tu testes :)


---------------
Jubi Photos : Flickr - 500px
n°1540334
SatanKoRn
J'T'A'M !
Posté le 08-04-2007 à 23:17:30  profilanswer
 

bin en fait, la deuxième méthode n'a pas l'air de marcher, ça fait planter mon appli :S
je testerai le CardLayout ;-)


---------------
Matt
n°1541833
SatanKoRn
J'T'A'M !
Posté le 12-04-2007 à 11:03:42  profilanswer
 

Le CardLayout fonctionne à merveille ! merci pour votre aide :-)


---------------
Matt
mood
Publicité
Posté le 12-04-2007 à 11:03:42  profilanswer
 

n°1541884
Jubijub
Parce que je le VD bien
Posté le 12-04-2007 à 11:54:11  profilanswer
 

de rien :)


---------------
Jubi Photos : Flickr - 500px
n°1542328
SatanKoRn
J'T'A'M !
Posté le 13-04-2007 à 00:01:13  profilanswer
 

euh.. encore une question !
en fait, j'ai une fenêtre dans mon appli et quand je clique sur la petite croix pour fermer la fenêtre, j'ouvre un JOptionPane pour demander la confirmation de fermeture de la fenêtre. Le problème, c'est que quand je clique sur non, bin la fenêtre disparait (devient invisible je suppose). Mais comment faire en sorte qu'elle ne disparaisse pas ??


---------------
Matt
n°1542430
Jubijub
Parce que je le VD bien
Posté le 13-04-2007 à 10:38:14  profilanswer
 

heu, de mémoire quand tu fermes une fenêtre y'a un event qui est lancé...
 
http://java.sun.com/docs/books/tut [...] tener.html
 
par contre je sais pas comment ça interagit avec les trucs genre DISPOSE_ON_CLOSE, etc...


---------------
Jubi Photos : Flickr - 500px
n°1542451
SatanKoRn
J'T'A'M !
Posté le 13-04-2007 à 11:02:52  profilanswer
 

Merci ! Tu m'as mis sur la bonne piste.
 
En fait, j'avais mon windowListener qui affichait la fenêtre de confirmation et voila.
 
Mais en effet, tu peux utiliser la méthode setDefautCloseOperation pour définir ce que tu fais quand tu fermes ta fenêtre. Et par défaut, c'est...... HIDE_ON_CLOSE ! Donc évidemment, même si le programme ne se termine pas, la fenêtre disparaît. Donc il suffit de rajouter un this.setDefautCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
et c'est réglé :)
 


---------------
Matt

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

  [Résolu] Application avec multiples interfaces graphiques

 

Sujets relatifs
VBA - macro et événements - RésoluPointeur ou pas ? (résolu)
[AWK] Comprendre un script... [ RESOLU ][Résolu] PHP MySQL - Problème de recherche dans la base
Centrer un site internet [RESOLU][VB] Lancer excel à partir d'un programme VB [Résolu]
[RESOLU] Erreur dans galerie en JavaScript.[html/css/js ??] script de screenshot [resolu]
[résolu] scriptaculous qui fonctionne sous IE mais pas firefox ?erreur de boucle with ? [résolu]
Plus de sujets relatifs à : [Résolu] Application avec multiples interfaces graphiques


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