nibbles1 Pour la gloire de NFT | J'aimerai placer une JMenuBar dans une JInternalFrame, mais elle n'apparait pas.. Qqn peut-il m'aider ?
Code :
- import javax.swing.JEditorPane;
- import javax.swing.JInternalFrame;
- import javax.swing.*;
- import java.awt.event.*;
- import java.awt.*;
- import java.net.URL;
- public class MyInternalFrame extends JInternalFrame implements ActionListener {
- /** nombre de frame ouvertes*/
- static int openFrameCount = 0;
- /** offset pour le placement des difféntes frames*/
- static final int xOffset = 30, yOffset = 30;
- /** Panneau pour le contenu d'un fichier*/
- private JEditorPane jEditorPane;
- /** Barres de défilement pour jEditorPane*/
- private JScrollPane jScrollPane;
- /** Barre de menu pour un fichier ouvert*/
- private JMenuBar b;
- /** Menu de la barre de menu pour un fichier ouvert*/
- private JMenu fichier;
- /** Item pour un fichier ouvert*/
- private JMenuItem fermer, sauvegarder;
- /** Le constructeur MyInternalFrame crée une fenêtre interne
- @param titre le titre de la fenêtre
- @param fich le nom du fichier à ouvrir
- @param barreDeMenu ajoute ou non une barre de menu à la fenêtre interne */
- public MyInternalFrame(String titre, String fich, boolean barreDeMenu) {
- super(titre,
- true, //resizable
- true, //closable
- true, //maximizable
- true);//iconifiable
-
- JDesktopPane desktop;
-
- //...Then set the window size or call pack...
- setSize(700,500);
-
- if(barreDeMenu){
- b=new JMenuBar(); setJMenuBar(b);
- fichier=new JMenu(); b.add(fichier);
- fermer=new JMenuItem("Fermer" );
- fermer.addActionListener(this);
- fichier.add(fermer);
- sauvegarder=new JMenuItem("Sauvegarder" );
- sauvegarder.addActionListener(this);
- fichier.add(sauvegarder);
- desktop = new JDesktopPane();
- this.getContentPane().add(desktop);
- }
-
- URL url = null;
- try {url = new URL("file://" + fich);}
- catch (java.net.MalformedURLException ex) {}
-
- try {jEditorPane = new JEditorPane(url);}
- catch (java.io.IOException e){
- System.out.println("Impossible d'ouvrir le fichier " + url);
- }
- jScrollPane = new JScrollPane(jEditorPane);
- this.getContentPane().add(jScrollPane);
- //Set the window's location.
- openFrameCount++;
- setLocation(xOffset*openFrameCount, yOffset*openFrameCount);
- }
- public StringBuffer getText(){
- StringBuffer fichier=new StringBuffer(jEditorPane.getText());
- return(fichier);
- }
- /** La fonction actionPerformed gère les évènements sur la fenêtre de l'application.
- @param e ActionEvent */
- public void actionPerformed(ActionEvent e) {
- }
- }
|
et
Code :
- import java.awt.*;
- import javax.swing.*;
- import java.awt.event.*;
- import java.util.*;
- class Interface extends JFrame implements ActionListener{
- /** Le panneau principal de l'application*/
- final JDesktopPane desktop;
- /** La barre de menu*/
- private JMenuBar b;
- /** Menu de la barre de menu*/
- private JMenu fichier, legende, propos;
- /** Un Item du menu Fichier*/
- private JMenuItem ouvrir, analyser, quitter;
- /** Un Item du menu Légende*/
- private JMenuItem boiteDeLegende;
- /** Un Item du menu ? */
- private JMenuItem aPropos;
- /** Le sélecteur de fichier*/
- private JFileChooser fc;
- /** L'élément à onglet pour l'analyse des fichiers*/
- private JTabbedPane jTabbedPane;
- /** Le panneau défilant pour les fichiers ouverts*/
- private JScrollPane jScrollPane;
- /** Contenu du fichier ouvert*/
- private JTextArea jTextArea;
- /** objet qui gère les évènements selon le choix dans le menu*/
- private Object menuChoisi;
- /** Pour une analyse de fichier*/
- private Analyse analyse;
- /** Le constructeur Interface() crée l'interface de l'application */
- public Interface(){
- setTitle("Projet ALAO n°1" );
- desktop=new JDesktopPane();
- this.setContentPane(desktop);
- desktop.setPreferredSize(new Dimension(800,600));
-
- b=new JMenuBar(); setJMenuBar(b);
- fichier=new JMenu("Fichier" ); fichier.setMnemonic('F');
- b.add(fichier);
- ouvrir=new JMenuItem("Ouvrir" ); ouvrir.setMnemonic('O');
- ouvrir.addActionListener(this);
- fichier.add(ouvrir);
- analyser=new JMenuItem("Analyser" ); analyser.setMnemonic('A');
- analyser.addActionListener(this); fichier.add(analyser);
- quitter=new JMenuItem("Quitter" ); quitter.setMnemonic('Q');
- quitter.addActionListener(this); fichier.add(quitter);
-
- legende=new JMenu("Légende" ); legende.setMnemonic('L');
- b.add(legende);
-
- boiteDeLegende=new JMenuItem("Boite de légende" ); boiteDeLegende.setMnemonic('B');
- legende.add(boiteDeLegende);
-
- propos=new JMenu("?" );
- propos.setMnemonic('?');
- b.add(propos);
- aPropos=new JMenuItem("A propos..." );
- aPropos.setMnemonic('A');
- propos.add(aPropos);
-
- WindowListener ei = new WindowAdapter() {
- /** La fonction windowClosing gère la sortie de l'application lorsqu'on ferme la fenêtre
- @param e WindowEvent */
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- };
-
- addWindowListener(ei);
- this.pack();
- this.show();
- }
- /** La fonction actionPerformed gère les évènements sur la fenêtre de l'application.
- @param e ActionEvent */
- public void actionPerformed(ActionEvent e) {
- menuChoisi = e.getSource();
- if (menuChoisi == quitter){
- // traitements
- }else if(menuChoisi==analyser){
- // traitements
- }else if(menuChoisi==ouvrir){
- fc=new JFileChooser("." );
- fc.setDialogTitle("Ouvrir un fichier" );
- int returnVal = fc.showOpenDialog(null);
- if (returnVal == JFileChooser.APPROVE_OPTION) {
- MyInternalFrame myInternalFrame=new MyInternalFrame(fc.getSelectedFile().getName(),fc.getSelectedFile().toString(),true);
- myInternalFrame.setVisible(true);
- desktop.add(myInternalFrame);
- }
- }
- }
- }
|
Message édité par nibbles1 le 10-04-2003 à 00:02:31 ---------------
JeanBeulz, chercheur coincheur
|