Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Probleme JFrame [ Divers / Général ] (romainbisson)

vendredi 6 juin 2008 à 13:14:12 | Probleme JFrame

romainbisson

Bonjour je souhaite effacer le contenut de ma Jframe et lors de l'action sur un bouton, je souhaite qu'elle soit redessiner mais je ne sais pas comment faire, merci de votre aide

Mon code

//************************************************************************************//
///////////////////////////////  INCLUSIONS  
/////////////////////////////////////////
//************************************************************************************//

import java.awt.*;
import javax.swing.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;




public class Bisson extends JFrame implements MouseListener
{

private static final long serialVersionUID =1L;

String host;

/*************************** Déclarations Champs de Texte
*******************************/

static JTextField zone_nom;
static JTextField zone_prenom;
static JTextField zone_adresse;
static JTextField zone_code_postal;
static JTextField zone_ville;
static JTextField zone_telephone;

/***********************************Déclarations Boutons
********************************/

static JButton bouton_facture;
static JButton bouton_devis;
static JButton bouton_commande;

/********************************* Etiquette - Label - Image
******************************/

static JLabel logo;
static JLabel version;
static JLabel facture;
static JLabel devis;
static JLabel commande;

/*************************************    Image de fond    
*******************************/
static Image fond;

//
//**************************************************************************************
//                               PREMIER CONSTRUCTEUR
//
//**************************************************************************************

public Bisson(){

                //On donne un titre à la fenetre
                                super("Bisson Informatique");

                //Cette opération est réalisé lors de la fermeture de la fenetre
                                setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

                //Taille de la fenetre 1024*768
                                setBounds(0,0,1024,768);

                //La fenetre n'est pas redimensionable
                                setResizable(false);

                        ImageIcon icon = new ImageIcon("images/logo.jpg");
                        logo = new JLabel();
                        logo.setIcon(icon);
                        logo.setBounds(40,250,450,300);

                /**** bouton facture *****/

                         bouton_facture = new JButton();
                         bouton_facture.setIcon(new ImageIcon("images/icone.gif"));
                         bouton_facture.setBounds(100,50,120,120);

                         facture = new JLabel("Facture");
                         facture.setForeground(Color.blue);
                         facture.setFont(new Font("Helvetica", Font.PLAIN, 20));
                         facture.setBounds(130,170,80,40);

                /**** bouton devis *****/

                         bouton_devis = new JButton();
                         bouton_devis.setIcon(new ImageIcon("images/icone.gif"));
                         bouton_devis.setBounds(300,50,120,120);

                         devis = new JLabel("Devis");
                         devis.setForeground(Color.blue);
                         devis.setFont(new Font("Helvetica", Font.PLAIN, 20));
                         devis.setBounds(335,170,80,40);

                /**** bouton commande *****/

                         bouton_commande = new JButton();
                         bouton_commande.setIcon(new ImageIcon("images/icone.gif"));
                         bouton_commande.setBounds(500,50,120,120);

                         commande = new JLabel("Commande");
                         commande.setForeground(Color.blue);
                         commande.setFont(new Font("Helvetica", Font.PLAIN, 20));
                         commande.setBounds(510,170,120,40);

                         version = new JLabel("Version 1.0");
                         version.setForeground(Color.blue);
                         version.setFont(new Font("Helvetica", Font.PLAIN, 28));
                         version.setBounds(870,680,200,50);

                         setResizable(false);

                          //création du container
                          JLabel container = new JLabel();
                          // chargement de l'image
                          ImageIcon background = new ImageIcon("images/fond.jpg");
                          //on s'assure que l'image soit bien chargée
                          background.getImage();
                          // charge l'image
                          container.setIcon(background);
                          //changement du layout (pour reprendre ce que tu as fait
                          container.setLayout(null);
                          //ajout des composants
                          container.add(bouton_facture);
                          container.add(facture);
                          container.add(bouton_devis);
                          container.add(devis);
                          container.add(bouton_commande);
                          container.add(commande);
                          container.add(logo);
                          container.add(version);
                          //ajout du container
                          setContentPane(container);

                          bouton_facture.addMouseListener(this);
                          bouton_devis.addMouseListener(this);
                          bouton_commande.addMouseListener(this);


                //On rend la fenetre lisible
                        setVisible(true);
                }

public void mouseClicked(MouseEvent e) {
    
    setVisible(false);
    new Bisson(host);    

}
//Invoked when a mouse button has been pressed on a component.
public void mousePressed(MouseEvent e) {}

//Invoked when a mouse button has been released on a component.
public void mouseReleased(MouseEvent e) {}

//Invoked when the mouse enters a component.
public void mouseEntered(MouseEvent e) {}

//Invoked when the mouse exits a component.
public void mouseExited(MouseEvent e) {}

public Bisson(String host){
    
    super("Bisson Informatique");
    setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    setBounds(0,0,1024,768);
    setResizable(false);
    JLabel container1 = new JLabel();
    ImageIcon background1 = new ImageIcon("images/fond.jpg");
    background1.getImage();
    container1.setIcon(background1);
    
    ImageIcon icone0 = new ImageIcon("images/image_facture.jpg");
    JLabel image_facture = new JLabel();
    image_facture.setIcon(icone0);
    image_facture.setBounds(0,0,300,50);
    
    JButton bouton_sommaire = new JButton();
    bouton_sommaire.setIcon(new ImageIcon("images/sommaire.jpg"));
    bouton_sommaire.setBounds(500,100,221,47);
    
    ImageIcon icone1 = new ImageIcon("images/disque.jpg");
    JLabel image_disque = new JLabel();
    image_disque.setIcon(icone1);
    image_disque.setBounds(40,100,50,50);
    
    JButton disque_dur= new JButton();
    disque_dur.setIcon(new ImageIcon("images/bouton_disque.jpg"));
    disque_dur.setBounds(110,110,215,34);
    
    ImageIcon icone2 = new ImageIcon("images/ram.jpg");
    JLabel image_ram = new JLabel();
    image_ram.setIcon(icone2);
    image_ram.setBounds(40,150,50,50);
    
    JButton barettes_memoires= new JButton("BARETTES MEMOIRES");
    barettes_memoires.setIcon(new ImageIcon("images/bouton_ram.jpg"));
    barettes_memoires.setBounds(110,160,300,34);

    ImageIcon icone3 = new ImageIcon("images/alim.jpg");
    JLabel image_alim = new JLabel();
    image_alim.setIcon(icone3);
    image_alim.setBounds(40,200,50,50);
    
    JButton alimentations= new JButton();
    alimentations.setIcon(new ImageIcon("images/bouton_alim.jpg"));
    alimentations.setBounds(110,210,236,34);

    container1.add(image_facture);
    container1.add(bouton_sommaire);
    
    container1.add(image_disque);
    container1.add(disque_dur);
    
    container1.add(image_ram);
    container1.add(barettes_memoires);
    
    container1.add(image_alim);
    container1.add(alimentations);

    container1.add(version);
    container1.setLayout(null);
    setContentPane(container1);
    setVisible(true);
    
}

//Permet l'execution du programme
public static void main(String[] args){
    
        new Bisson();

        }

}




vendredi 6 juin 2008 à 13:27:58 | Re : Probleme JFrame

flolag

dans ta methode paint() tu met des variable genre if boutonCliqué = true on redessine sinon on ne fait rien

-------------------
PortFolio
-------------------



vendredi 6 juin 2008 à 13:44:11 | Re : Probleme JFrame

romainbisson

et on fait comment pour redessiner ;

public

Bisson(){

super("Bisson Informatique");

setDefaultCloseOperation(

DO_NOTHING_ON_CLOSE);

setBounds(0,0,1024,768);

setResizable(

false);

setResizable(

false);

//création du container

JLabel container =

new JLabel();

// chargement de l'image

ImageIcon background =

new ImageIcon("images/fond.jpg");

//on s'assure que l'image soit bien chargée

background.getImage();

// charge l'image

container.setIcon(background);

//changement du layout (pour reprendre ce que tu as fait

container.setLayout(

null);

//ajout des composants

container.add(

bouton_facture);

container.add(

facture);

container.add(

bouton_devis);

container.add(

devis);

container.add(

bouton_commande);

container.add(

commande);

container.add(

logo);

container.add(

version);

//ajout du container

setContentPane(container);

bouton_facture.addMouseListener(this);

bouton_devis.addMouseListener(this);

bouton_commande.addMouseListener(this);

 

//On rend la fenetre lisible

setVisible(

true);

}

public

void mouseClicked(MouseEvent e) {

CODE Pour redessiner la fenetre


}

//Invoked when a mouse button has been pressed on a component.

public

void mousePressed(MouseEvent e) {}

//Invoked when a mouse button has been released on a component.

public

void mouseReleased(MouseEvent e) {}

//Invoked when the mouse enters a component.

public

void mouseEntered(MouseEvent e) {}

//Invoked when the mouse exits a component.

public

void mouseExited(MouseEvent e) {}

vendredi 6 juin 2008 à 14:42:12 | Re : Probleme JFrame

Twinuts

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

arggggg oubli la méthode paint........... et vire moi les mouseXXXX

si tu veux absolument TOUT enlever tu fais :
removeAll(); <- celui de la JFrame

si tu veux préserver le fond tu fais
container.removeAll();


voici un code d'exemple:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Test extends JFrame implements ActionListener {

    private static final long    serialVersionUID    = 3078633967761312074L;
    private JMenuItem            menuRemove            = null;
    private JMenuItem            menuRestore            = null;

    public static void main(final String[] args) {
        new Test().setVisible(true);
    }

    public Test() {
        super("Test removeAll");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(800, 600);
        setLocationRelativeTo(null);

        // fleme de faire autrement
        final JMenuBar bar = new JMenuBar();
        bar.add(getMenuRestore());
        bar.add(getMenuRemove());
        setJMenuBar(bar);

        // pour garder l'exemple avec un JLabel comme container
        final JLabel container = new JLabel();
        container.setLayout(new FlowLayout());
        setContentPane(container);
        // on force le remplissage de la fenetre
        getMenuRestore().doClick();
    }

    private JMenuItem getMenuRemove() {
        if (menuRemove == null) {
            menuRemove = new JMenuItem();
            menuRemove.setText("RemoveAll");
            menuRemove.addActionListener(this);
        }
        return menuRemove;
    }

    private JMenuItem getMenuRestore() {
        if (menuRestore == null) {
            menuRestore = new JMenuItem();
            menuRestore.setText("RestoreAll");
            menuRestore.addActionListener(this);
        }
        return menuRestore;
    }

    public void actionPerformed(final ActionEvent e) {
        final Object o = e.getSource();
        if (o.equals(getMenuRemove())) {
            // vire tou les composants du container
            getContentPane().removeAll();
            getContentPane().repaint();// important

        } else if (o.equals(getMenuRestore())) {
            // place des boutons ou des labels dans le container
            for (int i = 0; i < 100; ++i)
                if ((i % 2) == 0)
                    getContentPane().add(new JButton("Button " + (i + 1)));
                else
                    getContentPane().add(new JLabel("Label " + (i + 1)));
            getContentPane().validate();// important
        }
    }

}


bien que si tu dois faire des switch entre une IHM donnée et une autre (sans gros changement sur les 2) tu devrais utiliser le layout CardLayout qui est super adapté pour ça




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO



Cette discussion est classé dans : bouton, image, jlabel, facture, imageicon


Répondre à ce message

Sujets en rapport avec ce message

redimenssionner une imageIcon dans un JLabel [ par eio ] SalutJessaie de redimensionner une ImageIcon dans un JLabel. L'original de l'image(un drapeau) est beaucoup trop grande donc je veux réduire l'image p Image dans une Applet [ par Dellys ] Bonjourje voudrai insérer une image sur mon applet, j'ai Modifier la taille d'un ImageIcon [ par Sango69780 ] Salut à tous, J'aimerais mettre une image dans une frame, pour y faire, j'ai penser utiliser un ImageIcon, que je mettrait dans un JLabel, et que ensu action sur une image [ par sy3ns ] Bonjour en faite je voudrais rattaché une action quand je clique sur une image je sais le faire avec un bouton mais pas avec une image.J'ai essayer ce Java: probleme de chargement d'image pour un imageicone [ par papiotte ] Bonjour,je développe actuellement une application java.mon problème vient du fait que j'utilise des boutons avec icones:        ImageIcon image= new I Splah screen [ par romainbisson ] Bonjour, J'aimerais faire un Splash Screen avant l'ouverture de mon programme, j'ai deja fait l'image de ce splash screen. donc jai trouvé une source Insérer une image dans un JLabel avec setIcon [ par Sharkiller ] Bonsoir à vous :)Mon problème est dans le titre...Pour quelque chose de plus explicite, voici la partie à laquelle ce problème se rattache:public void Mettre à jour une image dans un JLabel [ par pyrrah ] Bonjour,Je souhaiterais mettre à jour une image contenu dans un JLabel.Voici mon code :  ImageIcon status = new ImageIcon("chemin/vers/images/open_"+ creer un image depuis un JLabel [ par aliahmad ] salutBufferedImage image = ImageIO.read(file);                    //Redimensionner l'image                    ImageIcon img = new ImageIcon(LimitDocum Image jpeg dans jlabel [ par Phalalis ] Bien le bonjour,Je me permet de vous déranger quelques instants car je suis victime d'une incompréhension.Je vous explique plus en détail.Je dispose d


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,669 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.