IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

Problème d'accès aux Frames


Sujet :

Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Par défaut Problème d'accès aux Frames
    Bonjour à tous,

    Je suis débutant en programmation. Je suis entrain de créer une interface assez simple : 1 fenêtre contenant 1 image en fond d'écran, et 3 boutons.

    Cependant j'ai 2 questions...
    - Lorsque j'appuie sur un des boutons, je souhaite faire disparaitre la Frame principale lancée via le main, avant d'afficher une nouvelle Frame. Cependant, je n'arrive pas à accéder au nom de la Frame principale pour la fermer.

    -Lorsque j'appuie sur un autre bouton, je souhaite complètement changer le panel de départ (tout en restant dans la même frame) en affichant un nouveau panel et avec un bouton permettant de faire retour. Par contre, je ne sais pas si c'est faisable.

    Merci d'avance

    Voici mon code :

    Main.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class Main {
        public Main() {
        }
        public static void main(String[] args) {
           SwingUtilities.invokeLater(new Runnable(){
                public void run(){
                    Fenetre_Accueil fenetre = new Fenetre_Accueil();
                       fenetre.setVisible(true);  
                }
            });
        }
    }
    Fenetre_Accueil.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    public class Fenetre_Accueil extends JFrame
    {
        ImageIcon icon;
        Page_Accueil jp_Image = new Page_Accueil();
        JButton jb_image;    
        Image image;
     
        public Fenetre_Accueil()
        {
            super();
            build();           
        }
     
        public void build(){
            Dimension tailleEcran = Toolkit.getDefaultToolkit().getScreenSize();
        int largeurEcran = tailleEcran.width;
            int hauteurEcran = tailleEcran.height;
     
        setSize(largeurEcran/2, hauteurEcran/2);
            setLocation(largeurEcran/4, hauteurEcran/4);
            setTitle("Mon appli");
            setLocationRelativeTo(null);
        setResizable(false);
     
            jp_Image.setPreferredSize(new Dimension(largeurEcran/2,hauteurEcran/2));
        this.add(jp_Image);
        this.show();
            jp_Image.paintComponent(jp_Image.getGraphics());
     
        }
    }
    Page_Accueil.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    class Page_Accueil extends JPanel
    {
      public Page_Accueil (){
        this.setLayout(new BorderLayout());
     
        JLabel label_titre = new JLabel("Bienvenue sur mon Appli", JLabel.CENTER);
        label_titre.setFont(new Font("Arial", Font.BOLD, 38));
        label_titre.setForeground(new Color(200,30,24));
        this.add(BorderLayout.NORTH,label_titre);
     
        Menu_Accueil jp_menu = new Menu_Accueil();
     
          this.add(BorderLayout.WEST,jp_menu);
        setDoubleBuffered(true); // <- pr limiter le scintillement
      }
     
      synchronized protected void paintComponent(Graphics g)
      {
     
            Image i = Toolkit.getDefaultToolkit().getImage("./fondecran.jpg");
            g.drawImage(i,0,0,this.getWidth(),this.getHeight(),Color.BLACK,this);
     
      }
    }
    Menu_Accueil.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    public class Menu_Accueil extends JPanel{
     
        public Menu_Accueil() {
            this.setOpaque(false);
            this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
     
            // Création du bouton Jouer
            JButton jb_jouer = new JButton(new ImageIcon(Toolkit.getDefaultToolkit().getImage("./bouton_jouer.jpg")));
            Boutons.Build_Btn(jb_jouer,false,"./bouton_jouer");
     
              // Création du bouton Options
            JButton jb_options = new JButton(new ImageIcon(Toolkit.getDefaultToolkit().getImage("./bouton_options.jpg")));
            Boutons.Build_Btn(jb_options,false,"./bouton_options");
     
              // Création du bouton Quitter
              JButton jb_quitter = new JButton(new ImageIcon(Toolkit.getDefaultToolkit().getImage("./bouton_quitter.jpg")));
            Boutons.Build_Btn(jb_quitter,false,"./bouton_quitter");
     
              // Ajout des écouteurs sur les boutons
              jb_jouer.addActionListener(new Traitement_Btn_jouer());
              jb_options.addActionListener(new Traitement_Btn_options());
              jb_quitter.addActionListener(new Traitement_Btn_quitter());
     
            // Ajout des boutons au menu
            this.add(jb_jouer); 
            this.add(jb_options); 
            this.add(jb_quitter);     
     
        }
    }
    Class Boutons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class Boutons extends JButton{
        public static final void Build_Btn(JButton jb,boolean sbp,String ch_im){    
            Image image = Toolkit.getDefaultToolkit().getImage(ch_im+".jpg");
            jb.setMaximumSize(new Dimension (192,48));
            jb.setBorderPainted(sbp);
            jb.setPressedIcon(new ImageIcon(ch_im+"_pressed.jpg"));
              jb.setRolloverIcon(new ImageIcon(ch_im+"_souris.jpg"));    
        }
    }
    Class Traitement_Btn_jouer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class   Traitement_Btn_jouer implements   ActionListener{
            public  void    actionPerformed(ActionEvent e)
            {
                try{
     
                }
                catch(Exception exception){
                    System.out.println("Pb: Bouton jouer");
                    return;
                } 
            }
    }

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Par défaut
    Problème résolu !

    Pour info, j'ai rassemblé tout mon code en une classe principale (qui n'est pas un extends JFrame)
    Dans le Main, je crée juste un New classe principale

    Dans cette classe, je crée une JFrame et voilà ^^ je peux enfin fermer ma fenêtre !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'accès aux méthodes d'une classe
    Par RR instinct dans le forum Langage
    Réponses: 5
    Dernier message: 26/06/2006, 14h51
  2. problème d'accès aux données sur serveur par poste client
    Par rahan_dave dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/02/2006, 09h13
  3. Réponses: 16
    Dernier message: 07/02/2006, 14h19
  4. [Applet] problèmes d'accès aux images
    Par wwave dans le forum Interfaces Graphiques en Java
    Réponses: 18
    Dernier message: 16/09/2005, 14h42
  5. [TOMCAT] JSP problème d'accès aux méthodes d'une classes
    Par gunnm dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 22/05/2004, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo