Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème Boite de dialogue Java

    6 décembre 2010 à 21:28:39

    Bonjour a tous,
    Ceci est mon premier post, je sais pas trop comment sa se passe !!
    Mais en gros voici mon problème:
    J'essaye de réaliser une interface graphique pour que lorsque que l'on appuie sur un des boutons de la toolbar, une seconde fenêtre s'ouvre et que l'on puisse choisir les paramètres pour la création d'objet (la dimension d'un segment, d'un cercle,....).

    Mon problème est que je n'arrive pas a automatiser cette event, et que je ne comprend pas mon erreur.

    Merci de toute aide de votre part!!!

    Voici le code que j'utilise:
    La premiére partie correspond a l'interface graphique, la fenetre ou on peut choisir dans la toolbar le type d'objet que l'on veut creer:

    package tpn_java;
    import java.awt.*;
    import javax.swing.*; 
    import java.awt.event.*;
    
    public class EditeurGraphique extends JFrame {
    	
    	protected  JMenuBar barreMenu;
    	protected JMenu[] menus;
    	protected String[] menusT = {"File","?"};
    	protected JMenuItem[][] menusItems;
    	protected String[][] itemsI = {{"New","Open","Save","Close"},{"About"}};
    
    	//Les Boutons Tools :
    	protected JButton Circle = new JButton(new ImageIcon("src/Images/Circle.jpg"));
    	protected JButton Square = new JButton(new ImageIcon("src/Images/Square.jpg"));
    	protected JButton Rectangle = new JButton(new ImageIcon("src/Images/Rectangle.jpg"));
    	protected JButton Oval = new JButton(new ImageIcon("src/Images/Oval.jpg"));
    	protected JButton Text = new JButton(new ImageIcon("src/Images/Ovale.jpg"));
    	protected JButton Line = new JButton(new ImageIcon("src/Images/Ovale.jpg"));
    	protected Color fondBouton = Color.white;
    	protected JToolBar left = new JToolBar();
    	protected JPanel top,mid;
    	
    	
    	//Creation de la Fenetre Graphique
    	public EditeurGraphique() {
    		setSize(400, 300);
            setTitle("EditeurGraphique");
            setDefaultCloseOperation(EXIT_ON_CLOSE); 
            setVisible(true); 
            setBackground(Color.white);
          
            
            //Creation de la barre de Menu Fichier et ?
            barreMenu = new JMenuBar();
            menus = new JMenu[menusT.length];
            menusItems = new JMenuItem[menusT.length][];
            for(int i = 0 ; i < menus.length ; i++) {
    	        menus[i] = new JMenu(menusT[i]);
    	        barreMenu.add(menus[i]);
    	        menusItems[i] = new JMenuItem[itemsI[i].length];
    	        for(int j = 0 ; j < menusItems[i].length ; j++) {
    	        	menusItems[i][j] = new JMenuItem(itemsI[i][j]);
    	        	menus[i].add(menusItems[i][j]);
    	        }
            }
            //Mise en place dans la fenetre   
            setJMenuBar(barreMenu);
                   
            //Creation du menu de Tools
            Circle = new JButton();
            top = new JPanel();
            left = new JToolBar();
            Circle.setBackground(fondBouton);
            Square.setBackground(fondBouton);
            Rectangle.setBackground(fondBouton);
            Oval.setBackground(fondBouton);
            Line.setBackground(fondBouton);
            Text.setBackground(fondBouton);
            add(left,"North");
            left.add(Circle);
            left.add(Square);
            left.add(Rectangle);
            left.add(Oval);
            left.add(Line);
            left.add(Text);
            
            mid = new JPanel();
            mid.setBackground(fondBouton);
            add(mid);
      
            Circle.addMouseListener(new openParametersCircle(this));
            Square.addMouseListener(new openParametersSquare(this));
            Rectangle.addMouseListener(new openParametersRectangle(this));
            Oval.addMouseListener(new openParametersOval(this));
            Line.addMouseListener(new openParametersLine(this));
            Text.addMouseListener(new openParametersText(this));
    }
    	
    	
    	class openParametersCircle extends MouseAdapter{
    		private EditeurGraphique old;
    		openParametersCircle(EditeurGraphique f){
    			old = f;
    			System.out.println("test Cercle 1" );
    		}
    	public void MousePressed(MouseEvent e){
    		System.out.println("test Cercle 2 : e" );
    		ParametersCircle fCircle = new ParametersCircle(old);
    		fCircle.setVisible(true);
    		
    		}	
    	}	
    	class openParametersSquare extends MouseAdapter{
    		private EditeurGraphique old;
    		openParametersSquare(EditeurGraphique f){
    			System.out.println("test Carre 1" );
    			old = f;
    		}
    	public void MousePressed(MouseEvent e){
    		System.out.println("test Carre 2" );
    		ParametersSquare fSquare = new ParametersSquare(old);
    		fSquare.setVisible(true);
    		}
    	}
    	class openParametersRectangle extends MouseAdapter{
    		private EditeurGraphique old;
    		openParametersRectangle(EditeurGraphique f){
    			System.out.println("test Rectangle 1" );
    			old = f;
    		}
    	public void MousePressed(MouseEvent e){
    		System.out.println("test Rectangle 2" );
    		ParametersRectangle fRectangle = new ParametersRectangle(old);
    		fRectangle.setVisible(true);
    		}
    	}
    	class openParametersOval extends MouseAdapter{
    		private EditeurGraphique old;
    		openParametersOval(EditeurGraphique f){
    			System.out.println("test Ovale 1" );
    			old = f;
    		}
    	public void MousePressed(MouseEvent e){
    		System.out.println("test Ovale 2" );
    		ParametersOval fOval = new ParametersOval(old);
    		fOval.setVisible(true);
    		}	
    	}
    	class openParametersText extends MouseAdapter{
    		private EditeurGraphique old;
    		openParametersText(EditeurGraphique f){
    			System.out.println("test Text 1" );
    			old = f;
    		}
    	public void MousePressed(MouseEvent e){
    		System.out.println("test Text 2" );
    		ParametersText fText = new ParametersText(old);
    		fText.setVisible(true);
    		}
    	}
    	class openParametersLine extends MouseAdapter{
    		private EditeurGraphique old;
    		openParametersLine(EditeurGraphique f){
    			System.out.println("test Line 1" );
    			old = f;
    		}
    	public void MousePressed(MouseEvent e){
    		System.out.println("test Line 2" );
    		ParametersLine fLine = new ParametersLine(old);
    		fLine.setVisible(true);
    		}
    	}
    	
    	public static void main(String[] args) {
    		EditeurGraphique e = new EditeurGraphique();
    		e.setVisible(true);
    	}	
    }
    


    Cette deuxième partie, est une des fenêtre que je voulais qui s'ouvre lorsque l'on appuie sur l'une des formes dans la toolbar de la fenêtre EditeurGraphique.

    Par exemple que lorsque l'on appuie sur le cercle une boite de dialogue (une instance de s'ouvre ParametersCircle)


    package tpn_java;
    import java.awt.*;
    import javax.swing.*; 
    
    public class ParametersCircle extends JFrame{
    
    			//Choix Dimension
    			protected JLabel dimension;
    			protected JTextField diametre;
    			//Couleurs
    			protected JLabel cFond;
    			protected JComboBox couleurs;
    			protected String[] couleursT = {"Rouge","Bleu","Vert","Jaune","Gris","Noir"};
    			//Remplissage
    			protected JLabel cFill;
    			protected JCheckBox cboxs;		
    			protected JPanel top,mid,bot;
    			private EditeurGraphique old; 
    			
    			public ParametersCircle(EditeurGraphique old) {
    				this.setOld(old);
    				setSize(1000, 120);
    		        setTitle("Parametres du Cercle");
    		        setBackground(Color.white);
    		        
    				dimension = new JLabel("Diametre du Cercle : ");
    				diametre = new JTextField();
    
    				top = new JPanel();
    				top.setLayout(new GridLayout(1,5));
    				top.add(dimension);
    				top.add(diametre);
    				add(top,"North");
    								
    				cFond = new JLabel("Couleur de l'objet : ");
    				mid = new JPanel();
    				mid.add(cFond);
    				couleurs = new JComboBox();
    				for(int i = 0 ; i < couleursT.length ; i++)
    					couleurs.addItem(couleursT[i]);
    				mid.add(cFond);
    				mid.add(couleurs);			
    				add(mid,"Center");
    
    				bot = new JPanel();
    				cFill = new JLabel("Remplissage : ");
    				cboxs = new JCheckBox();
    				bot.add(cFill);
    				bot.add(cboxs);
    				
    				add(bot,"South");
    			}
    
    			public void setOld(EditeurGraphique old) {
    				this.old = old;
    			}
    
    			public EditeurGraphique getOld() {
    				return old;
    			}
    }
    



    Merci a tous de votre aide
    • Partager sur Facebook
    • Partager sur Twitter

    Problème Boite de dialogue Java

    × 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