Partage
  • Partager sur Facebook
  • Partager sur Twitter

Barre d'outils

Problème avec le tuto

Sujet résolu
    20 février 2009 à 14:55:26

    Bonjour, je suis nouveau dans la programmation java.
    Jusqu'à présent je n'ai fait que des langages web (php etc) et j'ai décidé de me mettre à java.

    Tout va bien dans le tuto de cisboy, sauf la partie sur les barres d'outils (qui je trouve n'est pas assez bien explicitée :().
    Je n'arrive en effet pas à afficher ma barre d'outil.
    Voici le code :
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuItem;
    import javax.swing.JMenuBar;
    import javax.swing.JPopupMenu;
    import javax.swing.JPanel;
    import javax.swing.JToolBar;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.Color;
    import java.awt.BorderLayout;
    
    public class ZFenetre extends JFrame {
    	private JMenuBar menuBar=new JMenuBar(); // ma barre de menu
    	private JMenu m=new JMenu("Fichier"); // option menu
    	private JMenu m2=new JMenu("Options");
    	
    	private JPanel jpan=new JPanel(); //mon conteneur
    	
    	private JMenuItem i=new JMenuItem("Ouvrir");  // une option de menu
    	private JMenuItem i2=new JMenuItem("Fermer");
    	private JMenuItem i3=new JMenuItem("Lancer");
    	private JMenuItem i4=new JMenuItem("Arreter");
    	
    	private JPopupMenu m3=new JPopupMenu(); // menu contextuel
    	
    	private JToolBar outil=new JToolBar(); // barre d'outil
    	private JButton a=new JButton(new ImageIcon("a.jpg")), b=new JButton(new ImageIcon("b.jpg")); // boutons
    	
    	public ZFenetre(){
    		this.setSize(400, 200);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setLocationRelativeTo(null);
    		
    		jpan.setBackground(Color.blue);
    		jpan.setLayout(new BorderLayout());
    
    		this.a.setBackground(Color.white); // fond du bouton
    		this.b.setBackground(Color.white); 
    		this.outil.add(b); // j'ajoute mon bouton a ma barre d'outil
    		this.outil.add(a);
    
    		this.add(outil, BorderLayout.NORTH); j'ajoute mon bouton a ma fenetre, je le place en haut
    		this.setContentPane(jpan); // j'indique le conteneur
    		this.setVisible(true // j'affiche
    	}
    	
    	public static void main(String[] args) {
    		ZFenetre f=new ZFenetre();
    
    	}
    }
    


    Merci d'avance pour votre aide
    • Partager sur Facebook
    • Partager sur Twitter
      20 février 2009 à 15:04:11

      Ta JtoolBar doit être ajouté a ton panel et pas à ta frame. Soit :
      this.jpan.add(outil, BorderLayout.NORTH);
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        20 février 2009 à 15:05:11

        Et aussi, tu n'affiches pas ta barre de menu

        Donc pour l'ajouter
        this.setMenuBar(taBarreDeMenu);
        


        Ou vu que tu utilises un BorderLayout, tu peux aussi faire (oui oui ça existe)
        getContentPane().add(taBarreDeMenu, BorderLayout.NORTH);
        


        Et sinon, il manque ) à ta ligne 51 (this.setVisible)
        • Partager sur Facebook
        • Partager sur Twitter
          20 février 2009 à 15:06:23

          En effet, je me doutais que ça venait du panel, mais je ne voyais pas ou ça clochait :)

          Merci :)

          En effet, je n'affiche pas la barre de menu, mais c'était pour alléger le code :) (normalement il y a aussi un menu contextuel dans mon code :))
          • Partager sur Facebook
          • Partager sur Twitter

          Barre d'outils

          × 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