Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ma JFrame ne s'affiche pas!

Avec aucune erreur!

Sujet résolu
    11 janvier 2014 à 18:17:56

    Bonjour!:)

    Bon alors, déjà, le code source:

    Main.java:

    import javax.swing.JFrame;
    
    
    public class Main extends JFrame{
    	
    	public static void main(String[] args){ 
    		//New Frame, read Fenetre.java
    		Fenetre frame = new Fenetre();
    	}
    }

    Fenetre.java:

    import java.awt.*;
    
    import javax.swing.*;
    public class Fenetre  extends JFrame{
    	public void Fenetre(){
    		//Settings
    		setTitle("Main.java");
    		setSize(600,600);
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
    		setLocationRelativeTo(null);
    		JPanel panel = new JPanel();
    		this.setBackground(Color.LIGHT_GRAY);
    		this.setContentPane(panel);
    		setVisible(true);
    
    	}
    }
    

    Voila!

    Mais maintenant, le problème:

    Ma fenêtre ne s'affiche pas, mais un icône dans la barre des taches apparait! (celui de java) qui a comme titre "Main.java"

    Preuve que la fenêtre existe? Oui je crois!

    Merci de m'aider. ;)


    • Partager sur Facebook
    • Partager sur Twitter
    La guerre, maintenant, se fait sur le web. Et si on faisait la paix?
      11 janvier 2014 à 18:39:31

      public class Main{    
          public static void main(String[] args){
              //New Frame, read Fenetre.java
              Fenetre frame = new Fenetre();
      		frame.setVisible(true);
          }
      }
      • Partager sur Facebook
      • Partager sur Twitter
        11 janvier 2014 à 18:41:58

        Ça marche! Merci! Mais j'ai encore un problème...

        La fenêtre ne prend pas les attributs que je lui ai donné dans la classe Fenetre.java!

        • Partager sur Facebook
        • Partager sur Twitter
        La guerre, maintenant, se fait sur le web. Et si on faisait la paix?
          11 janvier 2014 à 18:49:46

          Chez moi, ce code fonctionne. J'ai bien une fenêtre qui s'affiche.

          Par contre, le extends JFrame dans Main ne sert à rien. Tu peux l'enlever.

          • Partager sur Facebook
          • Partager sur Twitter
            11 janvier 2014 à 18:52:32

            D'acoord brubru77! Merci de l'info! Mais ca y'est! ca marche... Par contre, j'ai tous mis dans le main...

            -
            Edité par Graph3D 11 janvier 2014 à 18:58:39

            • Partager sur Facebook
            • Partager sur Twitter
            La guerre, maintenant, se fait sur le web. Et si on faisait la paix?
              11 janvier 2014 à 19:11:40

              J'ai trouvé d'où venait le problème. Reprends ton code initial et enlève void dans ton "constructeur". Un constructeur n'a pas de type de retour.

              -
              Edité par brubru777 11 janvier 2014 à 19:13:23

              • Partager sur Facebook
              • Partager sur Twitter
                11 janvier 2014 à 20:35:45

                MERCI BEAUCOUP! Résolu grâce a brubru77! Merci aussi a CASANOVA
                • Partager sur Facebook
                • Partager sur Twitter
                La guerre, maintenant, se fait sur le web. Et si on faisait la paix?
                  21 avril 2017 à 14:55:53

                   Voici mon code ... Malheureusment la frame ne s'affiche pas :( ! la main est dans une autre classe et elle marche, je l'ai essayé avec un autre code !

                  import java.awt.Color;
                  import java.awt.Container;
                  import java.awt.Font;
                  import java.awt.*;
                  import javax.swing.*;
                  import javax.swing.JButton;
                  import javax.swing.JFrame;
                  import javax.swing.JLabel;
                  import javax.swing.JPanel;
                  import javax.swing.JSplitPane;
                  
                  public class FenetreAide extends JFrame {
                  	
                  	public FenetreAide(){	
                  		
                  		
                  		this.setTitle("Aide");
                  		this.setBackground(Color.GRAY);
                  		this.setSize(750,850);
                  		this.setLocationRelativeTo(null);
                  		this.setResizable(false);
                  		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                  		this.setLocation(20, 500);
                  	
                  		
                  		
                  		Container contenu2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT){
                  			private final int location2 = 515;
                  			{
                  				setDividerLocation(location2);
                  			}
                  			public int getDividerLocation(){
                  				return location2;
                  			}
                  			public int getLastDividerLocation(){
                  				return location2;
                  			}
                  		};
                  		contenu2.add(panTexteAide());
                  		contenu2.add(panBouton());
                  		this.getContentPane().add(contenu2);
                  		this.setVisible(true);
                  		
                  	}
                  	private JPanel panBouton(){
                  		JPanel panBouton = new JPanel();
                  		panBouton.setBackground(Color.darkGray);
                  		panBouton.setLayout(null);
                  		panBouton.add(menu());
                  		return panBouton;
                  	}
                  	
                  	private JButton menu(){
                  		JButton menu = new JButton("Menu");
                  		menu.setBackground(Color.WHITE);
                  		menu.setBounds(300, 575, 150, 150);
                  		return menu;
                  	}
                  	private JPanel panTexteAide(){
                  		JPanel panTexteAide = new JPanel();
                  		panTexteAide.setBackground(Color.GRAY);
                  		panTexteAide.add(Aide());
                  		panTexteAide.add(Consignes());
                  		return panTexteAide();
                  	}
                  	private JLabel Aide(){
                  		JLabel Aide = new JLabel();
                  		Font fontAide = new Font("Helvetica",Font.BOLD,75);
                  		Aide.setFont(fontAide);
                  		Aide.setText("<html><br>Consignes :</html>");
                  		Aide.setForeground(Color.white);
                  		return Aide;
                  	}
                  	private JLabel Consignes(){
                  		JLabel Consignes = new JLabel();
                  		Font fontConsignes = new Font("Helvetica",Font.BOLD,25);
                  		Consignes.setFont(fontConsignes);
                  		Consignes.setText("<html><br><br>Le principe est simple,<br>"
                  				+ "il vous suffit de choisir une des portes en espérant<br>"
                  				+ "que ça soit la bonne afin d'avancer au prochain niveau.<br>"
                  				+ "Il faut passer les 5 portes pour gagner le jeu ...</html>");
                  		Consignes.setForeground(Color.white);
                  		return Consignes;
                  	}
                  	
                  	
                  	
                  	
                  }
                  
                  
                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 avril 2017 à 15:45:40

                    Dans ton main, tu précises bien le : setVisible(true) ?
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Ma JFrame ne s'affiche pas!

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown