Ouvrir une fenêtre interne en cliquant sur l'item d'un menu

Résolu
ririsuperstar - 8 mars 2013 à 12:34
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 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);

}

}

3 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 366
11 mars 2013 à 09:09
3
ririsuperstar
12 mars 2013 à 13:37
Merci, j'ai trouvé.
Autre question: comment fait-on pour enregistrer le travail effectué dans mon application ?
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 366
12 mars 2013 à 14:06
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
0