IHM,swing, aide pr la fonction rafraichir d'une fenetre

Résolu
boudyureka Messages postés 18 Date d'inscription jeudi 2 février 2006 Statut Membre Dernière intervention 5 avril 2006 - 26 févr. 2006 à 15:43
boudyureka Messages postés 18 Date d'inscription jeudi 2 février 2006 Statut Membre Dernière intervention 5 avril 2006 - 26 févr. 2006 à 17:41
bonjour,


alr voilà j'ai un bouton rafraichir dans mon programme et j'aimerais qu'il implémente ActionListener


je programme un logiciel pr la gestion de bd.
au démarage du programme la fenetre est séparé en 3 : l'arborescence, un panel nommé miniature et un autre panel avec rien dedans


lorsque je clique sur un noeud principale de l'arborescence ("série","auteurs","dessinateur",etc) une fiche apparait sur la droite


j'aimerais que lorsque je clique sur rafraichir la fenetre revienne à son affichage initiale c'est a dire :l'arborescence, un panel nommé miniature et un autre panel avec rien dedans..


j'ai tenté plusieurs choses mais rien y fait ca marche pas alr si vous avez des idées a me proposer


ci-joint le code de la fenetre principale + fiche des panels "serie"
et "album"


:help:


[code]
/**FENETRE PRINCIPALE*/
/*
* Created on 20 févr. 2006
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author i2c03b
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
import javax.swing.table.TableModel;
import javax.swing.tree.*;


import java.awt.*;
import java.awt.event.*;
import java.lang.reflect.Array;
import java.util.Arrays;



public class FenetrePrincipale extends JFrame {

protected JPanelNouvelAlbum nouvelAlbum = new JPanelNouvelAlbum();
protected JPanelNouvellePlanche nouvellePlanche = new JPanelNouvellePlanche();

private JButton buOuvrir, buEnregistrer, buImprimer, buCouper,buCopier ,buColler, buRafraichir;

private JButton buCreerAuteur,buCreerSerie, buCreerAlbum, buCreerEditeur, buCreerCollection, buCreerType;
private JButton buCreerGenre, buEmprunt, buStatistique;

private JPanel jPanelToolBar = new JPanel();


private JPanel jPanelPrincipal = new JPanel();
private JPanelImageMiniature miniature = new JPanelImageMiniature();
private JPanel panRienDuTout = new JPanel();
private JPanelNouvellePlanche panNouvellePlanche = new JPanelNouvellePlanche();


/**DEBUT CONSTRUCTEUR*/
public FenetrePrincipale (String s){
super(s);

//construction de la barre de menu de la fenêtre
setJMenuBar(getMenu());
setDefaultCloseOperation(EXIT_ON_CLOSE);

//construction de la barre de raccourci de la fenêtre
jPanelToolBar.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));
jPanelToolBar.add(creerBarreOutils());

//layout pour le panel principal
jPanelPrincipal.setLayout(new BoxLayout(jPanelPrincipal,0));


//dimension pour le panel rienDuTout
panRienDuTout.setPreferredSize(new Dimension(400,1000));
panRienDuTout.setMaximumSize(new Dimension(400,1000));
panRienDuTout.setMinimumSize(new Dimension(400,1000));
panRienDuTout.setBorder(BorderFactory.createTitledBorder(BorderFactory.createBevelBorder(1),
" ",0,0,new Font("Dialog", 1, 20),Color.DARK_GRAY));



//Ajout au panel principal
jPanelPrincipal.add(miniature);
jPanelPrincipal.add(panRienDuTout);
//jPanelPrincipal.add(panNouvellePlanche);








/**ARBORESCENCES*/
/**Définition des Noeuds et des enfants(les données principales de la BDthèque)*/

/*SERIE*/
DefaultMutableTreeNode serie = new DefaultMutableTreeNode("Série");
/*Enfant Serie*/
DefaultMutableTreeNode[] tabloSerie = new DefaultMutableTreeNode [9] ;
DefaultMutableTreeNode naruto = new DefaultMutableTreeNode("Naruto");
tabloSerie[0] = naruto;
DefaultMutableTreeNode bleach = new DefaultMutableTreeNode("Bleach");
tabloSerie[1] = bleach;
DefaultMutableTreeNode onePiece = new DefaultMutableTreeNode("One Piece");
tabloSerie[2] = onePiece;
/*Enfant d'une série : un album*/
//tabloAlbum : un tableau qui englobe les tableaux des albums
// ArraysList [] tabloAlbum = new ArraysList [9] ;

//tabloAlbum*** : tableau d'une série qui englobe les albums de la série
DefaultMutableTreeNode[] tabloAlbumNaruto = new DefaultMutableTreeNode [9] ;
DefaultMutableTreeNode tome01Naruto = new DefaultMutableTreeNode("Tome1 - the naruto");
DefaultMutableTreeNode tome02Naruto = new DefaultMutableTreeNode("Tome2 - the sasuke");
tabloAlbumNaruto[0] = tome01Naruto;
tabloAlbumNaruto[1] = tome02Naruto;
DefaultMutableTreeNode[] tabloAlbumBleach = new DefaultMutableTreeNode [9] ;
DefaultMutableTreeNode tome01Bleach = new DefaultMutableTreeNode("Tome1 - the beginning");
DefaultMutableTreeNode tome02Bleach = new DefaultMutableTreeNode("Tome2 - the orihime");
tabloAlbumBleach[0] = tome01Bleach;
tabloAlbumBleach[1] = tome02Bleach;

//tabloAlbum[0]=tabloAlbumNaruto;
//tabloAlbum[1]=tabloAlbumBleach;
/*AUTEUR*/
DefaultMutableTreeNode auteur = new DefaultMutableTreeNode("Auteur");
/*Enfant Auteur*/
DefaultMutableTreeNode[] tabloAuteur = new DefaultMutableTreeNode [9] ;
DefaultMutableTreeNode toru = new DefaultMutableTreeNode("Toru Fujisawa");
tabloAuteur[0] = toru;

/*DESSINATEUR*/
DefaultMutableTreeNode dessinateur = new DefaultMutableTreeNode("Dessinateur");
/*Enfant Dessinateur*/
DefaultMutableTreeNode[] tabloDessinateur = new DefaultMutableTreeNode [9] ;

/*COLLECTION*/
DefaultMutableTreeNode collection = new DefaultMutableTreeNode("Collection");
/*Enfant Collection*/
DefaultMutableTreeNode[] tabloCollection = new DefaultMutableTreeNode [9] ;

/*EDITEUR*/
DefaultMutableTreeNode editeur = new DefaultMutableTreeNode("Editeur");
/*Enfant Editeur*/
DefaultMutableTreeNode[] tabloEditeur = new DefaultMutableTreeNode [9] ;

/*GENRES*/
DefaultMutableTreeNode genres = new DefaultMutableTreeNode("Genre");
/*Enfant Genres*/
DefaultMutableTreeNode[] tabloGenres = new DefaultMutableTreeNode [9] ;

/*TYPES*/
DefaultMutableTreeNode types = new DefaultMutableTreeNode("Type");
/*Enfant Types*/
DefaultMutableTreeNode[] tabloTypes = new DefaultMutableTreeNode [9] ;



//apparence JTree
DefaultTreeCellRenderer rendererSerie = new DefaultTreeCellRenderer();
DefaultTreeCellRenderer rendererAuteur = new DefaultTreeCellRenderer();
DefaultTreeCellRenderer rendererDessinateur = new DefaultTreeCellRenderer();
DefaultTreeCellRenderer rendererCollection = new DefaultTreeCellRenderer();
DefaultTreeCellRenderer rendererEditeur = new DefaultTreeCellRenderer();
DefaultTreeCellRenderer rendererGenres = new DefaultTreeCellRenderer();
DefaultTreeCellRenderer rendererTypes = new DefaultTreeCellRenderer();



//aparence arbres
/*SERIE*/
ImageIcon serieNoeudOuvert = new ImageIcon("Icones/livre2Blanc.png", "boudou");
ImageIcon serieNoeudFerme = new ImageIcon("Icones/livre2Blanc.png", "boudou");
ImageIcon serieFeuille = new ImageIcon("Icones/livre1Blanc.png", "boudou");
rendererSerie.setOpenIcon(serieNoeudOuvert);
rendererSerie.setClosedIcon(serieNoeudFerme);
rendererSerie.setLeafIcon(serieFeuille);


/*AUTEUR*/
ImageIcon auteurNoeudOuvert = new ImageIcon("Icones/utilisateur2Blanc.png", "boudou");
ImageIcon auteurNoeudFerme = new ImageIcon("Icones/utilisateur2Blanc.png", "boudou");
ImageIcon auteurFeuille = new ImageIcon("Icones/utilisateur1Blanc.png", "boudou");
rendererAuteur.setOpenIcon(auteurNoeudOuvert);
rendererAuteur.setClosedIcon(auteurNoeudFerme);
rendererAuteur.setLeafIcon(auteurFeuille);

/*DESSINATEUR*/
ImageIcon dessinateurNoeudOuvert = new ImageIcon("Icones/utilisateur2Blanc.png", "boudou");
ImageIcon dessinateurNoeudFerme = new ImageIcon("Icones/utilisateur2Blanc.png", "boudou");
ImageIcon dessinateurFeuille = new ImageIcon("Icones/utilisateur1Blanc.png", "boudou");
rendererDessinateur.setOpenIcon(dessinateurNoeudOuvert);
rendererDessinateur.setClosedIcon(dessinateurNoeudFerme);
rendererDessinateur.setLeafIcon(dessinateurFeuille);

/*COLLECTION*/
ImageIcon collectionNoeudOuvert = new ImageIcon("Icones/livre3Blanc.png", "boudou");
ImageIcon collectionNoeudFerme = new ImageIcon("Icones/livre3Blanc.png", "boudou");
ImageIcon collectionFeuille = new ImageIcon("Icones/livre3Blanc.png", "boudou");
rendererCollection.setOpenIcon(collectionNoeudOuvert);
rendererCollection.setClosedIcon(collectionNoeudFerme);
rendererCollection.setLeafIcon(collectionFeuille);

/*EDITEUR*/
ImageIcon editeurNoeudOuvert = new ImageIcon("Icones/editeur2Blanc.png", "boudou");
ImageIcon editeurNoeudFerme = new ImageIcon("Icones/editeur2Blanc.png", "boudou");
ImageIcon editeurFeuille = new ImageIcon("Icones/editeurBlanc.png", "boudou");
rendererEditeur.setOpenIcon(editeurNoeudOuvert);
rendererEditeur.setClosedIcon(editeurNoeudFerme);
rendererEditeur.setLeafIcon(editeurFeuille);

/*GENRES*/
ImageIcon genresNoeudOuvert = new ImageIcon("Icones/genreBlanc.png", "boudou");
ImageIcon genresNoeudFerme = new ImageIcon("Icones/genreBlanc.png", "boudou");
ImageIcon genresFeuille = new ImageIcon("Icones/genreBlanc.png", "boudou");
rendererGenres.setOpenIcon(genresNoeudOuvert);
rendererGenres.setClosedIcon(genresNoeudFerme);
rendererGenres.setLeafIcon(genresFeuille);

/*TYPES*/
ImageIcon typesNoeudOuvert = new ImageIcon("Icones/homeBlanc.png", "boudou");
ImageIcon typesNoeudFerme = new ImageIcon("Icones/homeBlanc.png", "boudou");
ImageIcon typesFeuille = new ImageIcon("Icones/homeBlanc.png", "boudou");
rendererTypes.setOpenIcon(typesNoeudOuvert);
rendererTypes.setClosedIcon(typesNoeudFerme);
rendererTypes.setLeafIcon(typesFeuille);


//Panel qui va contenir les arbres
JPanel panelArbo= new JPanel();
panelArbo.setBackground(Color.WHITE);
panelArbo.setLayout(new LineLayout(LineLayout.VERTICAL));


//appel methode arbre
arbre("Nouvelle Série",serie,tabloSerie,tabloAlbumNaruto,rendererSerie,panelArbo);
arbre("Nouvel Auteur",auteur,tabloAuteur,rendererAuteur,panelArbo);
arbre("Nouveau Dessinateur",dessinateur,tabloDessinateur,rendererDessinateur,panelArbo);
arbre("Nouvelle Collection",collection,tabloCollection,rendererCollection,panelArbo);
arbre("Nouvel Editeur",editeur,tabloEditeur,rendererEditeur,panelArbo);
arbre("Nouveau Genres",genres,tabloGenres,rendererGenres,panelArbo);
arbre("Nouveau Type",types,tabloTypes,rendererTypes,panelArbo);


//on met les JTree(enfin le panel qui contient les JTree) dans un JScrollPane
JScrollPane JScrollArbo = new JScrollPane(panelArbo);
JScrollArbo.setPreferredSize(new Dimension(200,100));
/***FIN ARBORESCENCE*/











//Separateur qui coupe la fenêtre en deux du coté gauche on a les arborescences et du côté droit les miniature et données
JSplitPane separateur = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,JScrollArbo,jPanelPrincipal);
separateur.setOneTouchExpandable(true);




//Ajout de la barre d'outils en dessous de la barre de menu
this.getContentPane().add("North", jPanelToolBar);
//Ajout du séparateur
this.getContentPane().add(separateur);


}
/**FIN CONSTRUCTEUR*/










/**METHODES*/

/**Creation du menu*/
protected JMenuBar getMenu(){
//Le menu "Fichier"
JMenuBar barreDeMenu = new JMenuBar();
JMenu fichier = new JMenu("Fichier");
JMenuItem nouveau = new JMenuItem("Nouveau");
fichier.add(nouveau);
JMenuItem ouvrir = new JMenuItem("Ouvrir");
fichier.add(ouvrir);
JMenuItem enregistrer = new JMenuItem("Enregistrer");
fichier.add(enregistrer);
JMenuItem enregistrerSous = new JMenuItem("Enregistrer Sous");
fichier.add(enregistrerSous);
//séparateur
fichier.addSeparator();

JMenuItem miseEnPage = new JMenuItem("Mise en page");
miseEnPage.setEnabled(false);
fichier.add(miseEnPage);
JMenuItem imprimer = new JMenuItem("Imprimer");
fichier.add(imprimer);
//séparateur
fichier.addSeparator();

JMenuItem quitter = new JMenuItem("Quitter");
fichier.add(quitter);

//le menu edition
JMenu edition = new JMenu("Edition");
JMenuItem annuler = new JMenuItem("Annuler");
edition.add(annuler);
//séparateur
edition.addSeparator();

JMenuItem couper = new JMenuItem("Couper");
edition.add(couper);
JMenuItem copier = new JMenuItem("Copier");
edition.add(copier);
JMenuItem coller = new JMenuItem("Coller");
edition.add(coller);

//la barre de menu
barreDeMenu.add(fichier);
barreDeMenu.add(edition);
return barreDeMenu;

}






/**Creation de la barre d'outils*/
private JToolBar creerBarreOutils(){
JToolBar jToolBarRaccourci=new JToolBar("Raccourci");
JToolBar jToolBarFonctionInterne=new JToolBar("Fonction Interne");
JToolBar jToolBarCreation=new JToolBar("Creation");
JToolBar jToolBarFonctionBD=new JToolBar("Fonction Bande Dessinée");


//definitions
buOuvrir=bouton("Ouvrir","Icones/open.gif");
buEnregistrer=bouton("Enregistrer","Icones/sauve.png");
buImprimer=bouton("Imprimer","Icones/imprimer.png");
buCouper=bouton("Couper","Icones/couper.png");
buCopier=bouton("Copier","Icones/copier.png");
buColler=bouton("Coller","Icones/coller.png");
buRafraichir=bouton("Rafraîchir","Icones/rafraichir.png");

buCreerSerie=bouton("Créer Série","Icones/livre2.png");
buCreerAuteur=bouton("Créer Auteur","Icones/utilisateur2.png");
buCreerAlbum=bouton("Créer Album","Icones/livre3.png");
buCreerEditeur=bouton("Créer Editeur","Icones/editeur.png");
buCreerCollection=bouton("Créer Collection","Icones/livre1.png");
buCreerType=bouton("Créer Type","Icones/terre.png");
buCreerGenre=bouton("Créer Genre","Icones/genre.png");

buEmprunt=bouton("Emprunt","Icones/pret.png");
buStatistique=bouton("Statistique","Icones/stat.png");

buCreerSerie.addActionListener(new EcouteurCreer(this,"Série"));
buCreerAuteur.addActionListener(new EcouteurCreer(this,"Auteur"));
buCreerAlbum.addActionListener(new EcouteurCreer(this,"Album"));
buCreerEditeur.addActionListener(new EcouteurCreer(this,"Editeur"));
buCreerCollection.addActionListener(new EcouteurCreer(this,"Collection"));
buCreerType.addActionListener(new EcouteurCreer(this,"Type"));
buCreerGenre.addActionListener(new EcouteurCreer(this,"Genre"));


//ajouts
jToolBarFonctionInterne.add(buOuvrir);
jToolBarFonctionInterne.add(buEnregistrer);
jToolBarFonctionInterne.add(buImprimer);
jToolBarFonctionInterne.add(buCouper);
jToolBarFonctionInterne.add(buCopier);
jToolBarFonctionInterne.add(buColler);
// jToolBarFonctionInterne.add(buRafraichir);

jToolBarCreation.add(buCreerSerie);
jToolBarCreation.add(buCreerAlbum);
jToolBarCreation.add(buCreerAuteur);
jToolBarCreation.add(buCreerEditeur);
jToolBarCreation.add(buCreerCollection);
jToolBarCreation.add(buCreerGenre);
jToolBarCreation.add(buCreerType);

jToolBarFonctionBD.add(buEmprunt);
jToolBarFonctionBD.add(buStatistique);

jToolBarRaccourci.add(jToolBarFonctionInterne);
jToolBarRaccourci.add(jToolBarCreation);
jToolBarRaccourci.add(jToolBarFonctionBD);
jToolBarRaccourci.setEnabled(false);

return jToolBarRaccourci;
}


/**Creation des boutons de la barre d'outils*/
private JButton bouton(String toolTip,String iconPath){
JButton bou=new JButton();
bou.setIcon(new ImageIcon(iconPath));
bou.setToolTipText(toolTip);


return bou;
}







/**Methode n°1 pour Création des JTree*/
void arbre(String nomArbo,final DefaultMutableTreeNode noeud, DefaultMutableTreeNode feuille[],DefaultTreeCellRenderer apparence, JPanel panelArbo){



//Création des JTree
final JTree arborescence = new JTree(noeud);

//ajout des feuilles au noeud

for (int i=0;i

9 réponses

boudyureka Messages postés 18 Date d'inscription jeudi 2 février 2006 Statut Membre Dernière intervention 5 avril 2006
26 févr. 2006 à 16:20
merci de ton aide...
j'ai fait tt ce que tu m'as dit mais lorsque je clique sur le bouton rien ne se passe j'ai implémenter ma fenetre et ratacher l'event et ca fait rien mon traitement pr rafraichir la fenetre est le suivant

public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(buRafraichir)){
jPanelPrincipal.remove(1);
jPanelPrincipal.add(panRienDuTout);
}
}
3
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
26 févr. 2006 à 16:04
Salut,



Dans ta fenetre principal implemente ActionListener

public class FenetrePrincipale extends JFrame implements ActionListener{

...........

//ensuite il te suffit de definir la methode actionPerfomed et faire ton traitement dedans

public void actionPeformed(ActionEvent e){

if(e.getSource().equals(buRafraichir)){

//ton traitement pour rafraichir la fenêtre

}

}



//et apres l'instanciation de ton bouton tu rattache l'event

buRafraichir.addActionListener(this);

}



mais tu peux assi dedier un objet qui implement ActionListener pour faire les actions comme pour les boutons :

buCreerSerie, buCreerAuteur, buCreerAlbum, buCreerEditeur, buCreerCollection, buCreerType, buCreerGenre

WORA
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
26 févr. 2006 à 16:43
Salut,



pourquoi faire un remove et ensuite ratacher un autre panel pourquoi ne
pas utiliser le CardLayout qui est quand meme le plus adapté pour ton
besoin :)

WORA
0
boudyureka Messages postés 18 Date d'inscription jeudi 2 février 2006 Statut Membre Dernière intervention 5 avril 2006
26 févr. 2006 à 16:50
heuu désolé je suis débutant alr je connais pas le "CardLayout" alr si peut m'expliquer son fonctionnement svp merci bcp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
26 févr. 2006 à 16:56
0
boudyureka Messages postés 18 Date d'inscription jeudi 2 février 2006 Statut Membre Dernière intervention 5 avril 2006
26 févr. 2006 à 16:59
ok merci je vais commencer à lire ....
je t'ai demandé juste au cas ou t'avais le temps de m'expliquer avec tes mots comme ca j'aurais mieux compris je pense enfin je vais commencer à lire....
merci pr ton aide
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
26 févr. 2006 à 17:00
ok c'est rien si tu ne comprend toujours pas avec ca j'essairai de t'expliquer ^^

sinon avec plaisir ^^

++
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
26 févr. 2006 à 17:11
Le CardLayout est un gestionnaire de positionnement comme le BorderLayout, le FlowLayout, ....

il a l'avantage de gerer les composants sous forme de pile de cartes ce qui te permet de rendre visible un panel ou non....

WORA
0
boudyureka Messages postés 18 Date d'inscription jeudi 2 février 2006 Statut Membre Dernière intervention 5 avril 2006
26 févr. 2006 à 17:41
merci bcp pr ton aide avec ce CardLayout j'ai réglé mon problème....
arigato gosaimasu nanoda

a bientot pr de nouveaux problème
0
Rejoignez-nous