Partage
  • Partager sur Facebook
  • Partager sur Twitter

Emploi de CardLayout

Sujet résolu
    9 décembre 2009 à 15:11:54

    Bonjour,

    Je suis actuellement bloqué sur l'utilisation de CardLayout. En effet j'ai créer différents parnel et j'aimerais pouvoir switcher de l'un à l'autre mais ça ne fonctionne pas et je n'ai aucune erreur de compilation.

    Merci pour votre aide.

    Le Code ;
    import java.awt.*;
    import java.awt.event.*;
    
    public class tp5 extends Frame implements ActionListener {
    
    	// Premier panel : sélection du fichier d'entrée
    	private Label selection = new Label("Please select an image file.", Label.CENTER);
    	private Button open = new Button("Open...");
    	private TextField filename = new TextField(30);
    	
    	// Deuxième panel : implémentation du masque
    	private Label maskLabel = new Label("Please input a mask...");
    	private TextField input1 = new TextField(15);
    	private TextField input2 = new TextField(15);
    	private TextField input3 = new TextField(15);
    	private TextField input4 = new TextField(15);
    	private TextField input5 = new TextField(15);
    	private TextField input6 = new TextField(15);
    	private TextField input7 = new TextField(15);
    	private TextField input8 = new TextField(15);
    	private TextField input9 = new TextField(15);
    	
    	// Troisième panel : affichage du résultat (sauvegarde, etc.)
    	private Button load = new Button("Load");
    	private Button save = new Button("Save");
    	
    	// Boutons de navigation entre les panels
    	private Button startOver = new Button("Start Over");
    	private Button previous = new Button("Previous");
    	private Button next = new Button("Next");
    	
    	private Panel onglets;
    	private Panel fileSelection;
    	private Panel masque;
    	
    	public tp5() {
    		super("Image Processor");
    		setSize(300,150);
    		
    		// Création du panel de la fenêtre principal qui contiendra les autres panels
    		Panel fenetre = new Panel(new BorderLayout());
    		add(fenetre);
    		//this.addWindowListener(new pourEnFinir());
    		
    		// Panel des boutons de navigation
    		Panel navigation = new Panel(new FlowLayout());
    		fenetre.add("South",navigation);
    		navigation.add(startOver);
    		navigation.add(previous);
    		navigation.add(next);
    		
    		startOver.addActionListener(this);
    		previous.addActionListener(this);
    		next.addActionListener(this);
    		
    		// Création du cardLayout dans la partie nord
    		onglets = new Panel(new CardLayout());
    		fenetre.add("North",onglets);
    		
    		// Panel de selection d'un fichier
    		fileSelection = new Panel(new BorderLayout());
    		onglets.add("ongletSelectionImg",fileSelection);
    		
    		fileSelection.add("North",selection);
    		fileSelection.add("Center",open);
    		fileSelection.add("South", filename);
    		
    		// Panel du masque
    		masque = new Panel(new GridLayout(4,3));
    		onglets.add("ongletMasque", masque);
    		
    		masque.add(maskLabel);
    		masque.add(new Label(""));
    		masque.add(new Label(""));
    		masque.add(input1);
    		masque.add(input2);
    		masque.add(input3);
    		masque.add(input4);
    		masque.add(input5);
    		masque.add(input6);
    		masque.add(input7);
    		masque.add(input8);
    		masque.add(input9);
    		
    		// Cloture
    		
    		open.addActionListener(this);
    		
    		//show();
    		pack();
    		setVisible(true);
    		
    	}
    	
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		// TODO Auto-generated method stub
    		Button action = (Button)e.getSource();
    		
    		if(action == previous)
    			previous();
    		if(action == next)
    			next();
    		if(action == startOver)
    			startOver();
    	}
    	
    	public void previous() {
    		
    	}
    	
    	public void next() {
    		((CardLayout)onglets.getLayout()).show(onglets,"ongletSelectionImg");
    	}
    	
    	public void startOver() {
    		
    	}
    	
    	public static void main(String[] args) {
    		new tp5();
    	}
    
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      9 décembre 2009 à 17:47:55

      Salut,

      Hmmm ... Et si tu essayais en ajoutant ton panneau "onglets" quelque part, pour voir ? ^^

      ++
      • Partager sur Facebook
      • Partager sur Twitter
        10 décembre 2009 à 18:06:18

        Salut,

        Merci pour ta réponse mais il est présent en ligne 57.
        J'ai trouvé l'erreur c'était tout bête en fait mais on a du me le faire remarquer parce que tout seul j'ai rien vu ^^

        Ligne 113 : ((CardLayout)onglets.getLayout()).show(onglets,"ongletSelectionImg");

        En fait j'ai écrit ongletSelectionImg au lieu de ongletMasque et étant donné que ongletSelectionImg est déjà afficher, rien ne se passe.

        La bêtise est humaine mais là c'est fort je trouve ^^

        Merci !
        • Partager sur Facebook
        • Partager sur Twitter

        Emploi de CardLayout

        × 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