Partage
  • Partager sur Facebook
  • Partager sur Twitter

Correction de codes...

Est-ce que quelqu'un voudrait bien corriger mon code?svp

    5 février 2009 à 20:07:52

    Bonjour...

    J'ai écrit un code qui ne se compile pas et dont je ne comprend pas la raison...

    En fait j'aimerais qu'une fois que j'aurais tapé mon mot de passe, ca me renvoit vers ma page Sommaire...

    Est-ce que quelqu'un pourrait bien regarder? Merci d'avance!!!!!

    code de ma fenetre "MotDePasse":
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.Arrays;
    
    public class MotDePasse extends JPanel implements ActionListener{
    	
    	private static String OK="OK";
    	
    	private JFrame controllingFrame;
    	private JFrame Sommaire;
    	private JPasswordField MotDePasse;
    	
    	public MotDePasse(JFrame f){
    		controllingFrame=f;
    		
    		//creation des ecouteurs
    		MotDePasse=new JPasswordField(10);
    		MotDePasse.setActionCommand(OK);
    		MotDePasse.addActionListener(this);
    		
    		JLabel label=new JLabel("Veuillez entrer le mot de passe svp Docteur: ");
    		label.setLabelFor(MotDePasse);
    		
    		JComponent buttonPane=createButtonPanel();
    		
    		//tout disposer
    		JPanel textPane=new JPanel(new FlowLayout(FlowLayout.TRAILING));
    		textPane.add(label);
    		textPane.add(MotDePasse);
    		
    		add(textPane);
    		add(buttonPane);
    	}
    	
    	protected JComponent createButtonPanel(){
    		JPanel p=new JPanel(new GridLayout(0,1));
    		JButton okButton=new JButton("OK");
    		
    		okButton.setActionCommand(OK);
    		okButton.addActionListener(this);
    		
    		p.add(okButton);
    		
    		return p;
    	}
    	
    	public void actionPerformed(ActionEvent e){
    		String cmd=e.getActionCommand();
    		
    		if(OK.equals(cmd)){//procede au mot de passe
    			char[] input=MotDePasse.getPassword();
    			if(isPasswordCorrect(input)){
    				Sommaire sommaire = new Sommaire(null, "Coucou les ZérOs", true);
    				//
    				SommaireInfo sInfo = sommaire.showSommaire();
    				JOptionPane jop = new JOptionPane();
    				jop.showMessageDialog(Sommaire, sInfo.toString(), "Informations Sommaire", JOptionPane.INFORMATION_MESSAGE);
    			
    			
    		
    
    			}else{
    				JOptionPane.showMessageDialog(controllingFrame,"Mot de passe erroné.Veuillez réessayer.","Message d'erreur",JOptionPane.ERROR_MESSAGE);
    			}
    			Arrays.fill(input,'0');
    			
    			MotDePasse.selectAll();
    			resetFocus();
    		}else{}
    	}
    
    		
    	
    
    	private static boolean isPasswordCorrect(char[] input){
    		boolean isCorrect=true;
    		char[] correctPassword={'a','k','a','m','i','e'};
    		
    		if(input.length!=correctPassword.length){
    	
    			isCorrect=false;		
    		}else{isCorrect=Arrays.equals(input,correctPassword);
    		
    		}//on remet a zero le champ de vision
    		Arrays.fill(correctPassword, '0');
    		return isCorrect;
    		}
    
    //Pour faire reset
    protected void resetFocus() {
        MotDePasse.requestFocusInWindow();
    }
    
    
        private static void createAndShowGUI() {
            //Creer et afficher la fenetre
            JFrame frame = new JFrame("Password");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
            //Creer et parametrer le content pane.
            JPanel ContentPane= new JPanel();
            ContentPane.setOpaque(true);  //content panes must be opaque
            frame.setContentPane(ContentPane);  
    
            //Display the window.
            frame.pack();
            frame.setVisible(true);
        }
    }
    
    
    
    
    code de ma fenetre "Sommaire":
    <code type="java">import javax.swing.*;
    
    
    public class Sommaire extends JDialog{
    
    	
    	private SommaireInfo sInfo = new SommaireInfo();
    	
    
    	public Sommaire(JFrame parent, String title, boolean modal){
    		super(parent, title, modal);
    		this.setSize(550, 270);
    		this.setLocationRelativeTo(null);
    		this.setResizable(false);
    		this.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
    		
    	}
    	
    	
    	public SommaireInfo showSommaire(){
    		
    		this.setVisible(true);		
    		return this.sInfo;		
    	}}
    
    • Partager sur Facebook
    • Partager sur Twitter
      5 février 2009 à 20:42:21

      Ok alors petit conseil : quand tu dis j'ai un code (c'est déjà bien au moins tu nous demande pas de le faire) et il ne compile pas, donne-nous l'erreur de compilation ;)
      Pour les plus avertis d'entre nous, on trouvera l'explication très rapidement.

      Bon ben là je m'en vais copier coller ton code, et compiler à la main...

      Si tu pouvais épargner cette étape à tes lecteurs (c'est la moindre des choses ^^).

      EDIT : ben je n'ai pas ta classe SommaireInfo donc je ne peux pas compiler :p
      • Partager sur Facebook
      • Partager sur Twitter
        5 février 2009 à 21:24:04

        En fait j'avais oublier de mettre le main dans la fenetre "MotDePasse", je vais donc remettre de nouveau les codes mais meme avec le main ca ne compile pas...et je ne sais pas pourquoi.Peut etre que c'est du au main...Merci

        code de MotDePasse:
        import javax.swing.*;
        
        import java.awt.*;
        import java.awt.event.*;
        import java.util.Arrays;
        
        public class MotDePasse extends JPanel implements ActionListener{
        	
        	private static String OK="OK";
        	
        	private JFrame controllingFrame;
        	private JFrame Sommaire;
        	private JPasswordField MotDePasse;
        	
        	public MotDePasse(JFrame f){
        		controllingFrame=f;
        		
        		//creation des ecouteurs
        		MotDePasse=new JPasswordField(10);
        		MotDePasse.setActionCommand(OK);
        		MotDePasse.addActionListener(this);
        		
        		JLabel label=new JLabel("Veuillez entrer le mot de passe svp Docteur: ");
        		label.setLabelFor(MotDePasse);
        		
        		JComponent buttonPane=createButtonPanel();
        		
        		//tout disposer
        		JPanel textPane=new JPanel(new FlowLayout(FlowLayout.TRAILING));
        		textPane.add(label);
        		textPane.add(MotDePasse);
        		
        		add(textPane);
        		add(buttonPane);
        	}
        	
        	protected JComponent createButtonPanel(){
        		JPanel p=new JPanel(new GridLayout(0,1));
        		JButton okButton=new JButton("OK");
        		
        		okButton.setActionCommand(OK);
        		okButton.addActionListener(this);
        		
        		p.add(okButton);
        		
        		return p;
        	}
        	
        	public void actionPerformed(ActionEvent e){
        		String cmd=e.getActionCommand();
        		
        		if(OK.equals(cmd)){//procede au mot de passe
        			char[] input=MotDePasse.getPassword();
        			if(isPasswordCorrect(input)){
        				Sommaire sommaire = new Sommaire(null, "Coucou les ZérOs", true);
        				//
        				SommaireInfo sInfo = sommaire.showSommaire();
        				JOptionPane jop = new JOptionPane();
        				jop.showMessageDialog(Sommaire, sInfo.toString(), "Informations Sommaire", JOptionPane.INFORMATION_MESSAGE);
        			
        			
        		
        
        			}else{
        				JOptionPane.showMessageDialog(controllingFrame,"Mot de passe erroné.Veuillez réessayer.","Message d'erreur",JOptionPane.ERROR_MESSAGE);
        			}
        			Arrays.fill(input,'0');
        			
        			MotDePasse.selectAll();
        			resetFocus();
        		}else{}
        	}
        
        		
        	
        
        	private static boolean isPasswordCorrect(char[] input){
        		boolean isCorrect=true;
        		char[] correctPassword={'a','k','a','m','i','e'};
        		
        		if(input.length!=correctPassword.length){
        	
        			isCorrect=false;		
        		}else{isCorrect=Arrays.equals(input,correctPassword);
        		
        		}//on remet a zero le champ de vision
        		Arrays.fill(correctPassword, '0');
        		return isCorrect;
        		}
        
        //Pour faire reset
        protected void resetFocus() {
            MotDePasse.requestFocusInWindow();
        }
        
        
            private static void createAndShowGUI() {
                //Creer et afficher la fenetre
                JFrame frame = new JFrame("PasswordDemo");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
                final MotDePasse newContentPane = new MotDePasse(frame);
                newContentPane.setOpaque(true); //content panes must be opaque
                frame.setContentPane(newContentPane);
        
        
        
                //Display the window.
                frame.pack();
                frame.setVisible(true);
            }
        
        
        
        public static void main(String[] args) {
            
         
        JFrame f=new JFrame();
        }
        }
        


        code de Sommaire:
        import javax.swing.*;
        
        
        public class Sommaire extends JDialog{
        
        	
        	private SommaireInfo sInfo = new SommaireInfo();
        	
        
        	public Sommaire(JFrame parent, String title, boolean modal){
        		super(parent, title, modal);
        		this.setSize(550, 270);
        		this.setLocationRelativeTo(null);
        		this.setResizable(false);
        		this.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
        		
        	}
        	
        	
        	public SommaireInfo showSommaire(){
        		
        		this.setVisible(true);		
        		return this.sInfo;		
        	}}
        
        • Partager sur Facebook
        • Partager sur Twitter
          5 février 2009 à 21:41:26

          Petite question : à quoi ça sert que elmh prenne du temps pour te repond si tu ne le lis même pas ?

          On t'a demandé l'erreur que le compilo te hurle
          • Partager sur Facebook
          • Partager sur Twitter
            6 février 2009 à 17:56:53

            Ben en fait...c'est ca le souci, ya rien d'écrit dans la console...Merci

            voici mon code SommaireInfo,y a rien à l'intérieur...est-ce ca qui cloche?:

            public class SommaireInfo {
            
            }
            

            • Partager sur Facebook
            • Partager sur Twitter
              6 février 2009 à 19:20:22

              Ok ben si le compilateur ne renvoie pas d'erreur, ben "ça compile" ^^

              Par contre tu n'as pas l'effet désiré. Ben pour ça faut fouiller un peu.
              J'ai pas trop le temps là je verrai peut-être ce soir ou demain (s'il n'y a pas de réponse avant).
              • Partager sur Facebook
              • Partager sur Twitter
                6 février 2009 à 19:22:03

                Je suppose que tu utilise Eclipse ?

                En bas onglet Problems -> tu as la liste des erreurs

                clic droit sur une erreur-> copy
                ya plus qu'a coller ^^

                à faire sur chaque erreurs

                Edit :
                - Crée une classe Fenetre comme dans le tuto Java, et relis le tuto.

                - Ta methode main : creer une Jframe vide et ne l'affiche meme pas.

                - Et comme le dit elmh, ton code compile parfaitement et il fait ce qu'il doit faire.

                je pense que tu as du lire trop vite le tuto, ou que tu es etourdi car ta classe MotDePasse est un JPanel qui prend une JFrame (normalement c'est l'inverse, Attention ta classe motDePasse DOIT rester un JPanel) en parametre, ce qui n'a aucun sans dans la suite de ton code.
                • Partager sur Facebook
                • Partager sur Twitter
                  10 février 2009 à 14:40:36

                  Merci! je vais y remedier!! ;)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Correction de codes...

                  × 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