Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ma frame ne s'affiche pas !

    21 avril 2017 à 15:45:19

    J'ai ma main séparément dans une autre classe et elle marche.. je l'ai testée avec un autre code ! 

    je ne trouve pas le problème dans ces lignes, un peu d'aide serait la bienvenue merci :)

    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());
    		panTexteAide.setLocation(150,13);
    		return panTexteAide();
    	}
    	private JLabel Aide(){
    		JLabel Aide = new JLabel();
    		Font fontAide = new Font("Helvetica",Font.BOLD,75);
    		Aide.setFont(fontAide);
    		Aide.setText("Consignes");
    		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:54:45

      Je t'ai répondu sur l'autre topic, mais je vais recommencer ici xD

      As-tu bien précisé le setVisible(true) ?

      • Partager sur Facebook
      • Partager sur Twitter
        21 avril 2017 à 15:56:22

        oui! je ne dois pas le refaire a chaque Jpanel non ? ils sont tous intégrer dans la FenetreAide() donc le setvisible(true) la bas y est suffisant non ?

        • Partager sur Facebook
        • Partager sur Twitter
          21 avril 2017 à 16:06:19

          Mais c'est ta fenêtre qui ne s'affiche pas ? Ou tes JPanel ?
          • Partager sur Facebook
          • Partager sur Twitter
            21 avril 2017 à 16:20:36

            Méchante frame:colere:!

            Sinon montre nous où tu appelle ta fenêtre.

            • Partager sur Facebook
            • Partager sur Twitter
              21 avril 2017 à 16:32:11

              public class Aide {
              	public static void main(String[] args){
              		FenetreAide fen2 = new FenetreAide();
              			fen2.setVisible(true);
              				}
              			
              		}
              

              en dessus c'est ma main si ça peut aider ...

              Et sinon rien ne s'affiche les erreurs me mettent :

              Exception in thread "main" java.lang.StackOverflowError

              at java.util.Hashtable.put(Hashtable.java:464)
              at javax.swing.text.html.StyleSheet.getStyles(StyleSheet.java:1313)
              at javax.swing.text.html.StyleSheet.createResolvedStyle(StyleSheet.java:1380)
              at javax.swing.text.html.StyleSheet.createResolvedStyle(StyleSheet.java:1503)
              at javax.swing.text.html.StyleSheet.getResolvedStyle(StyleSheet.java:1261)
              at javax.swing.text.html.StyleSheet.getRule(StyleSheet.java:253)
              at javax.swing.text.html.StyleSheet$ViewAttributeSet.<init>(StyleSheet.java:2673)
              at javax.swing.text.html.StyleSheet.getViewAttributes(StyleSheet.java:348)
              at javax.swing.text.html.BlockView.getAttributes(BlockView.java:293)
              at javax.swing.text.html.StyleSheet$ViewAttributeSet.getResolveParent(StyleSheet.java:2765)
              at javax.swing.text.html.StyleSheet$ViewAttributeSet.doGetAttribute(StyleSheet.java:2745)
              at javax.swing.text.html.StyleSheet$ViewAttributeSet.getAttribute(StyleSheet.java:2725)
              at javax.swing.text.ParagraphView.setPropertiesFromAttributes(ParagraphView.java:124)
              at javax.swing.text.html.ParagraphView.setPropertiesFromAttributes(ParagraphView.java:104)
              at javax.swing.text.html.ParagraphView.setParent(ParagraphView.java:77)
              at javax.swing.text.CompositeView.replace(CompositeView.java:217)
              at javax.swing.text.BoxView.replace(BoxView.java:181)
              at javax.swing.text.CompositeView.loadChildren(CompositeView.java:114)
              at javax.swing.text.CompositeView.setParent(CompositeView.java:139)
              at javax.swing.text.html.BlockView.setParent(BlockView.java:72)
              at javax.swing.text.html.HTMLEditorKit$HTMLFactory$BodyBlockView.setParent(HTMLEditorKit.java:1327)
              at javax.swing.text.CompositeView.replace(CompositeView.java:217)
              at javax.swing.text.BoxView.replace(BoxView.java:181)
              at javax.swing.text.CompositeView.loadChildren(CompositeView.java:114)
              at javax.swing.text.CompositeView.setParent(CompositeView.java:139)
              at javax.swing.text.html.BlockView.setParent(BlockView.java:72)
              at javax.swing.plaf.basic.BasicHTML$Renderer.<init>(BasicHTML.java:381)
              at javax.swing.plaf.basic.BasicHTML.createHTMLView(BasicHTML.java:67)
              at javax.swing.plaf.basic.BasicHTML.updateRenderer(BasicHTML.java:207)
              at javax.swing.plaf.basic.BasicLabelUI.propertyChange(BasicLabelUI.java:417)
              at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
              at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
              at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
              at java.awt.Component.firePropertyChange(Component.java:8428)
              at javax.swing.JLabel.setText(JLabel.java:330)
              at FenetreAide.Consignes(FenetreAide.java:76)
              at FenetreAide.panTexteAide(FenetreAide.java:60)
              at FenetreAide.panTexteAide(FenetreAide.java:62)

              -
              Edité par vic2323 21 avril 2017 à 16:33:49

              • Partager sur Facebook
              • Partager sur Twitter
                21 avril 2017 à 16:40:03

                La prochaine fois donne directement la stacktrace...

                Tu a un problème dans cette méthode:

                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;
                    }

                Lorsque tu ajoute la font (Consignes.setFont(...);)

                La police Helvetica est-elle bien présente sur ton ordinateur ?

                • Partager sur Facebook
                • Partager sur Twitter
                  21 avril 2017 à 21:39:36

                  oui elle est présente, elle marche sur un autre JLabel que j'utilise sur autre Frame presque identique qui s'affiche comme il faut ...

                  je vois vraiment pas mon erreur là même eclipse n'indique pas l'erreur ... rien n'est souligné en rouge

                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 avril 2017 à 15:21:51

                    As-tu esssayer le debugger voir a quel moment précis sa plante ?

                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 avril 2017 à 15:10:27

                      j'ai trouvé après de moultes recherches ! problèmes de () ! :)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Ma frame 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