Interface graphique / menu - image

Interface graphique / menu - image - Java - Programmation

Marsh Posté le 14-01-2007 à 17:35:59    

Bonjour !
 
J'ai réalisé une interface graphique avec un menu tout en haut dans le container principal. ( fichier edition etc ... )
 
Je voudrai maintenant mettre un autre menu en dessous de celui ci qui contiendrai toute les icones relatives à l'ouverture d'un fichier, l'enregistrement d'un fichier etc ...
 
Probleme :
Or lorsque je l'ajoute il se superpose avec l'ancien, et pas moyen de le deplacer avec setBounds ou setLocation ...
 
Comment faire ?
 
Autre Problème :
 
- Quel méthode dois-je utiliser pour mettre en fond d'un container une image ?

Reply

Marsh Posté le 14-01-2007 à 17:35:59   

Reply

Marsh Posté le 14-01-2007 à 20:48:19    

keub51 a écrit :


- Quel méthode dois-je utiliser pour mettre en fond d'un container une image ?


http://www.java-tips.org/java-se-t [...] image.html
comme ça.  
 
Mais je ne sais pas si c'est la meilleure méthode.


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 15-01-2007 à 08:40:41    

Ton menu de boutons, tu le declares comment?
 
Théoriquement, ca devrait etre un JPanel au top du layout de ta frame.


Message édité par djok_fb le 15-01-2007 à 08:43:47
Reply

Marsh Posté le 15-01-2007 à 22:33:07    

Voici mon code !
 
j'essaye d'ajouter une barre d'icone en dessous de la barre de menu. Pas moyen de lancer le le programme ...  
 
 
 
 

Citation :

package agl;
 
/*
 * Agl.java
 *
 * Created on 11 janvier 2007, 21:25
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
 
/**
 *
 * @author keub
 */
 
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JToolBar;
import javax.swing.border.EtchedBorder;
 
public class Agl extends JFrame implements ActionListener{
    private JPanel container = null;//Déclaration de l’objet JPanel
    private FlowLayout layout = null ;//Déclaration de notre layout
     
//Composants de l'agl
    private JButton DDD = null ;//le bouton dictionnaire de données
     
    private JButton MCD = null ;//le bouton MCD
     
    private JButton MLD = null ;//le bouton MLD
     
    private JButton essai = null ;//le bouton essai du container 2
//Composants du menu
    private JMenuBar menuBar = null ; //la barre de menu
    private JMenu menu1 = null ;// le menu1 qui sera en fait le menu " fichier "
    private JMenuItem nouveau = null ;//item " nouveau " qui sera placé dans fichier
    private JMenuItem enregistrer = null;//item " enregistrer " qui sera placé dans fichier
    private JMenuItem quitter = null ;//item " quitter " qui sera placé dans fichier
    private JMenu menu2 = null ;// le menu2 qui sera le menu " ? "
    private JMenuItem aPropos = null ;//item qui sera placé dans "?"
   private JMenuItem IconeNew = null ;
    private JToolBar Icone = null;//bar icone

    private int largeur;
    private int hauteur;
     
// le constructeur de l'agl
    public Agl(){
        super();
         
        build();// apel de la méthode build definit ci dessous
    }
     
    public static void main(String[] args){
        Agl gui = new Agl();// on crée gui qui est du type Agl que l'on construit grace au constructeur
        gui.setVisible(true);// on laffiche
    }
// c ici que l'on construit la fenetre
    private void build(){
        menuBar = new JMenuBar();// on crée une barre de menu en haut de la fenetre
         
         
// c'est elle qui contiendra "fichier" et " ? " qui sont les menus
        menu1 = new JMenu("Fichier" ) ;// on crée le premier menu "fichier"
         
        nouveau = new JMenuItem("Nouveau" );// on instance l'item nouveau il sera appelé " Nouveau "
        nouveau.addActionListener(this);// on lui definit une action qui sera definit dans une méthode action listener ci dessous ...
        menu1.add(nouveau) ;
         
         
        enregistrer = new JMenuItem("Enregistrer" );
        enregistrer.addActionListener(this);// on lui definit une action qui sera definit dans une méthode action listener ci dessous ...
        menu1.add(enregistrer) ;
         
//on fait de même avec l'item "quitter"
        quitter = new JMenuItem("Quitter" );
        quitter.addActionListener(this);
        menu1.add(quitter) ;
// on ajoute ensuite le menu1 a la barre de menu
        menuBar.add(menu1) ;
// maintenant on s'occupe du deuxieme menu "menu2'
        menu2 = new JMenu("?" ) ;
         
        aPropos = new JMenuItem("A propos" ) ;
        aPropos.addActionListener(this) ;
        menu2.add(aPropos) ;
         
        menuBar.add(menu2) ;
        this.setJMenuBar(menuBar);// ajout de la barre de menu a la JFRAME
        //bar icone :
        Icone= new JToolBar();
        IconeNew.setTooltipText("Nouveau   Ctrl+N" );
        IconeNew.setIcon(new ImageIcon("" ));
        Icone.add(IconeNew);
        Icone.setFloatable(false);
        this.add(Icone);

//maintenant on va definir une taille a la fenetre un titre etc ...
        this.setTitle("Agl - Projet Seconde Année" ); //On donne un titre à l’application
        Dimension tailleEcran = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        hauteur = (int)tailleEcran.getHeight();
        largeur = (int)tailleEcran.getWidth();
        this.setSize(largeur,hauteur-60); //On donne une taille à notre fenêtre
        this.setLocationRelativeTo(null); //On centre la fenêtre sur l’écran
        this.setResizable(true) ; //On autorise la redimensionnement de l’écran
        this.setContentPane(getContainer()) ;//On lui dit de mettre le panel en fond ( le contenu )
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l’application de se fermer lors du clic sur la croix
    }
// on va definir le contenu de la fenetre
    private JPanel getContainer(){
        container = new JPanel();
        JPanel containerButton = new JPanel() ;//On crée notre objet
        JPanel FS = new JPanel() ;//On crée notre objet
        container.setLayout(null);// On applique le layout
        containerButton.setLayout(null);// On applique le layout
        containerButton.setBackground(Color.LIGHT_GRAY);//couleur de fond : gris ...
        containerButton.setBorder(new EtchedBorder(5,Color.black,Color.white));
        containerButton.setBounds(0,50,280,hauteur-110);
        FS.setLayout(null);// On applique le layout
        FS.setBackground(Color.white);//couleur de fond
        FS.setBorder(new EtchedBorder(50,Color.black,Color.white));
        FS.setBounds(280,50,largeur-280,hauteur-110);
        container.add(containerButton);
        container.add(FS);
//on ajoute les trois boutons
        DDD = new JButton("Dictionnaire De Données" );// instanciation du boutton
        DDD.setForeground(Color.WHITE);
        DDD.setBackground(Color.black);
        DDD.setBounds(10,10,250,25);
        DDD.addActionListener(this) ; // écouteur d'évemenment
        containerButton.add(DDD);// On l'ajoute au conteneur
         
        MCD = new JButton("Modèle Conceptuel De Données" );
        MCD.setForeground(Color.WHITE);
        MCD.setBackground(Color.black);
        MCD.setBounds(10,110,250,25);
        MCD.addActionListener(this) ;
        containerButton.add(MCD);
         
        MLD = new JButton("Modèle Logique De Données" );
        MLD.setForeground(Color.WHITE);
        MLD.setBackground(Color.black);
        MLD.setBounds(10,210,250,25);
        MLD.addActionListener(this) ;
        containerButton.add(MLD);
         
         
        return container ;
    }
     
     
//les actions a faire lorsque l'on clique sur les boutton
    public void actionPerformed(ActionEvent e){
        if(e.getSource() == DDD){
// lorsque l'on clique sur Dictionnaire de données
             
             
             
             
        }else if(e.getSource() == quitter){//sur quitter
            System.exit(0);//Exit ...
        }else if(e.getSource() == aPropos){//Lorsque l'on clique sur a propos dans le menu "?"
            JOptionPane.showMessageDialog(null,"Ce programme a été développé par ..." );
        }
    }
}


 
 
Quest ce qui ne fonctionne pas ? et ou doit se trouver l'image ? ( a coté du .java ? )

Reply

Marsh Posté le 17-01-2007 à 01:45:47    

Citation :

et ou doit se trouver l'image ? ( a coté du .java ? )


A coté du .class !


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed