Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ajouter un mouselisterner a une jinternalframe

    13 janvier 2021 à 18:17:23

    Bonjour, comment commander une internalframe a partir d'un menu d'une autre internalframe ? je m'explique, j'ai cree une fenetre principale (avec un menu) qui peut contenir des internalframes. je veux que lorsqu'on clique sur le sous-menu "Creer un sommet", on puisse creer par exemple un point dans le internalframe contenu dans la fenetre principale

    Ma fenetre principale:

    import java.awt.Color;
    import java.awt.EventQueue;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.MouseMotionListener;
    import java.beans.PropertyVetoException;
    
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JDesktopPane;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.KeyStroke;
    
    public class NewFrame extends JPanel implements MouseListener, MouseMotionListener{
    
    	private JFrame frame;
    	private JDesktopPane desktopPane;
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					NewFrame window = new NewFrame();
    					window.frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the application.
    	 */
    	public NewFrame() {
    		initialize();
    	}
    
    	/**
    	 * Initialize the contents of the frame.
    	 */
    	private void initialize() {
    		frame = new JFrame("Graph Application");
    		frame.setBounds(100, 100, 672, 390);
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.getContentPane().setLayout(null);
    		
    		desktopPane = new JDesktopPane();
    		desktopPane.setBackground(Color.lightGray);
            frame.setContentPane(desktopPane);
    		
    		frame.setJMenuBar(createmenu());
    	}
    
    	private JMenuBar createmenu() {	
    		JMenuBar MyMenuBar = new JMenuBar();
    		MyMenuBar.setBounds(0, 0, 600, 30);		
    		
    		JMenu MenuFichier = new JMenu("Fichier");
    		MyMenuBar.add(MenuFichier);
    		MenuFichier.setMnemonic( 'F' );
    		
    		JMenu MenuEdition = new JMenu("Edition");
    		MyMenuBar.add(MenuEdition);
    		MenuEdition.setMnemonic( 'E' );
    		
    		JMenu MenuAffichage = new JMenu("Affichage");
    		MyMenuBar.add(MenuAffichage);
    		MenuAffichage.setMnemonic( 'A' );
    		
    		JMenuItem MenuNouveau = new JMenuItem("Nouveau");
    		MenuNouveau.addActionListener(new ActionListener() {
    
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				// TODO Auto-generated method s/tub
    				try {
    					InternalFrame a = new InternalFrame();
    					desktopPane.add(a);
    					a.show();
    					//a.addAncestorListener(this);
    				} catch (PropertyVetoException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    					
    			}
    			
    		});
    		MenuNouveau.setMnemonic( 'N' );
    		MenuNouveau.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_DOWN_MASK));
    		MenuNouveau.setIcon(new ImageIcon("icons/new.png"));
    		MenuFichier.add(MenuNouveau);
    		
    		JMenuItem MenuOuvrir = new JMenuItem("Ouvrir");
    		MenuOuvrir.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				// TODO Auto-generated method stub
    				//restauration();
    			}
    		});
    		MenuOuvrir.setMnemonic( 'O' );
    		MenuOuvrir.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_DOWN_MASK));
    		MenuOuvrir.setIcon(new ImageIcon("icons/open.png"));
    		MenuFichier.add(MenuOuvrir);
    		
    		JMenuItem MenuEnregistrer = new JMenuItem("Enregistrer");
    		MenuEnregistrer.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				// TODO Auto-generated method stub
    				//enregistrement();
    			}
    		});
    		MenuEnregistrer.setMnemonic( 'E' );
    		MenuEnregistrer.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_DOWN_MASK));
    		MenuEnregistrer.setIcon(new ImageIcon("icons/save.png"));
    		MenuFichier.add(MenuEnregistrer);
    		
    		MenuFichier.addSeparator();
    		
    		JMenuItem MenuQuitter = new JMenuItem("Quitter");
    		MenuQuitter.addActionListener( (e) -> System.exit(0));
    		MenuQuitter.setMnemonic( 'Q' );
    		MenuQuitter.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, KeyEvent.CTRL_DOWN_MASK));
    		MenuQuitter.setIcon(new ImageIcon("icons/exit.png"));
    		MenuFichier.add(MenuQuitter);
    		
    		JMenuItem MenuSommet = new JMenuItem("Creer un sommet");
    		MenuSommet.addActionListener( new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				// TODO Auto-generated method stub
    				//state = CREATE_VERTEX;
    			}
    		}); 
    		
    		MenuEdition.add(MenuSommet);
    		
    		JMenuItem MenuArrete = new JMenuItem("Creer une arrete");
    		MenuArrete.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				// TODO Auto-generated method stub
    				//state = START_CREATE_EDGE;
    			}
    		});
    		MenuEdition.add(MenuArrete);
    		
    		JMenuItem MenuRenommer = new JMenuItem("Renommer un sommet");
    		MenuRenommer.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				//state = RENAME_VERTEX;
    			}
    		});
    		MenuEdition.add(MenuRenommer);
    		
    		JMenuItem MenuDeplacer = new JMenuItem("Deplacer un sommet");
    		MenuDeplacer.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				//state = START_MOVING_VERTEX;
    			}
    		});
    		MenuEdition.add(MenuDeplacer);
    
    		JMenuItem MenuSupprimerS = new JMenuItem("Supprimer un sommet");
    		MenuSupprimerS.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				//state = DELETE_VERTEX;
    			}
    		});
    		MenuEdition.add(MenuSupprimerS);
    
    		JMenuItem MenuSupprimerA = new JMenuItem("Supprimer une arrete");
    		MenuSupprimerA.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				//state = DELETE_EDGE;
    			}
    		});
    		MenuEdition.add(MenuSupprimerA);
    		
    		JMenuItem MenuSupprimerG = new JMenuItem("Supprimer un graphe");
    		MenuSupprimerG.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				//supprimergraphe();
    			}
    		});
    		MenuEdition.add(MenuSupprimerG);
    		
    		JMenuItem MenuAffichageG = new JMenuItem("Afficher le graphe");
    		MenuAffichageG.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				// TODO Auto-generated method stub
    				
    		});
    		MenuAffichage.add(MenuAffichageG);
    
    		
    		return MyMenuBar;
    	}
    
    	@Override
    	public void mouseDragged(MouseEvent arg0) {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public void mouseMoved(MouseEvent arg0) {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public void mouseClicked(MouseEvent arg0) {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public void mouseEntered(MouseEvent arg0) {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public void mouseExited(MouseEvent arg0) {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public void mousePressed(MouseEvent arg0) {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public void mouseReleased(MouseEvent arg0) {
    		// TODO Auto-generated method stub
    		
    	}
    }
    

     Mon internalframe :

    import java.awt.EventQueue;
    import java.beans.PropertyVetoException;
    
    import javax.swing.JInternalFrame;
    
    public class InternalFrame extends JInternalFrame {
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					InternalFrame frame = new InternalFrame();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 * @throws PropertyVetoException 
    	 */
    	public InternalFrame() throws PropertyVetoException {
    		setMaximizable(true);
    		setIconifiable(true);
    		setClosed(true);
    		setClosable(true);
    		setBounds(100, 100, 609, 300);
    	}
    
    }
    




    Voici ma fenetre :

    • Partager sur Facebook
    • Partager sur Twitter

    Ajouter un mouselisterner a une jinternalframe

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown