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 6450 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 17 mai 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 

Votre réponse

3 réponses

Meilleure réponse
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 17 mai 2018 Dernière intervention - 11 mars 2013 à 09:09
3
Merci
Salut,

Tout est là : http://da2i.univ-lille1.fr/doc/tutorial-java/uiswing/components/internalframe.html

Merci cs_Julien39 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de cs_Julien39
ririsuperstar - 12 mars 2013 à 13:37
0
Merci
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 6450 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 17 mai 2018 Dernière intervention - 12 mars 2013 à 14:06
0
Merci
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.