Ouvrir une fenêtre interne en cliquant sur l'item d'un menu [Résolu]

ririsuperstar - 8 mars 2013 à 12:34 - Dernière réponse : cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 15 mars 2018 Dernière intervention
- 12 mars 2013 à 14:06
Bonjour, je suis débutant en java et je rame. J'ai créé une fenêtre avec un menu de base (Interface.java) mais je ne sais pas comment attribuer une action à l'item nouveau (dans fichier), pour ouvrir à l'intérieur de la fenêtre une seconde fenêtre (Nouveau1.java) ?
Voici mes 2 codes:

Interface.java

package isostasie;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
import javax.swing.UIManager;
import java.awt.Font;
import javax.swing.ImageIcon;
import javax.swing.JLayeredPane;
import javax.swing.border.BevelBorder;
import java.awt.Toolkit;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import java.awt.Dimension;
import javax.swing.JMenuItem;
import java.awt.Component;
import javax.swing.JInternalFrame;

public class Interface extends JFrame {

private JPanel contentPane;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Interface frame = new Interface();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Interface() {
setIconImage(Toolkit.getDefaultToolkit().getImage("C:\\Program Files (x86)\\eclipse\\workspace\\perso\\SPU.png"));
setTitle("SPU 1.0");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 1024, 630);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JMenuBar menuBar = new JMenuBar();
menuBar.setBounds(0, 0, 1008, 21);
contentPane.add(menuBar);

JMenu mnNewMenu = new JMenu(" Fichier");
menuBar.add(mnNewMenu);
mnNewMenu.setPreferredSize(new Dimension(84, 22));
mnNewMenu.setFont(new Font("Comic Sans MS", Font.PLAIN, 14));

JMenuItem mntmNouveau = new JMenuItem("Nouveau");
mntmNouveau.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {

}
});
mntmNouveau.setFont(new Font("Comic Sans MS", Font.PLAIN, 12));
mnNewMenu.add(mntmNouveau);

JMenu mnEdition = new JMenu(" Edition");
mnEdition.setPreferredSize(new Dimension(84, 22));
mnEdition.setFont(new Font("Comic Sans MS", Font.PLAIN, 14));
menuBar.add(mnEdition);

JMenuItem mntmCopier = new JMenuItem("Copier");
mntmCopier.setFont(new Font("Comic Sans MS", Font.PLAIN, 12));
mnEdition.add(mntmCopier);

JMenu mnNewMenu_1 = new JMenu(" A propos");
mnNewMenu_1.setPreferredSize(new Dimension(84, 22));
mnNewMenu_1.setFont(new Font("Comic Sans MS", Font.PLAIN, 14));
menuBar.add(mnNewMenu_1);

JMenuItem mntmQuiSommesnous = new JMenuItem("Qui sommes-nous ?");
mntmQuiSommesnous.setIcon(new ImageIcon("C:\\Program Files (x86)\\eclipse\\workspace\\perso\\Info_mini.png"));
mntmQuiSommesnous.setFont(new Font("Comic Sans MS", Font.PLAIN, 12));
mnNewMenu_1.add(mntmQuiSommesnous);
}
}

Nouveau1.java

package isostasie;

import java.awt.EventQueue;

import javax.swing.JInternalFrame;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import javax.swing.SwingConstants;

public class Nouveau1 extends JInternalFrame {
private JTextField txtBravo;


/**
* Create the frame.
*/
public Nouveau1() {
setFrameIcon(null);
setBounds(0, 0, 100, 100);

txtBravo = new JTextField();
txtBravo.setHorizontalAlignment(SwingConstants.CENTER);
txtBravo.setText("Bravo !!!");
getContentPane().add(txtBravo, BorderLayout.CENTER);
txtBravo.setColumns(10);

}

}
Afficher la suite 

3 réponses

Répondre au sujet
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 15 mars 2018 Dernière intervention - 11 mars 2013 à 09:09
+3
Utile
Salut,

Tout est là : http://da2i.univ-lille1.fr/doc/tutorial-java/uiswing/components/internalframe.html
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Julien39
ririsuperstar - 12 mars 2013 à 13:37
0
Utile
Merci, j'ai trouvé.
Autre question: comment fait-on pour enregistrer le travail effectué dans mon application ?
Commenter la réponse de ririsuperstar
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 15 mars 2018 Dernière intervention - 12 mars 2013 à 14:06
0
Utile
Il faut que tu utilises une base de données ou sinon, tu as toujours la sérialisation de tes objets, tu peux chercher ca sur google
Commenter la réponse de cs_Julien39

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.