import javax.swing.*;
import java.awt.event.*;
class Quitter implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
class Nouveau implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
i++;
FenetreSecondaire f = new FenetreSecondaire("Fenetre " + i);
f.setLocation(x++,y++);
FenetreConteneur.getInstance().add(f);
}
private int i = 0;
private int x = 15;
private int y = 30;
}
class barre extends JMenuBar
{
public barre()
{
JMenuItem smnu1=new JMenuItem();
JMenuItem smnu2=new JMenuItem();
JMenu mnu1 = new JMenu();
mnu1.setText("Fichier");
smnu2.setText("Nouveau");
smnu1.setText("Quitter");
smnu1.addActionListener(new Quitter());
smnu2.addActionListener(new Nouveau());
mnu1.add(smnu1);
mnu1.add(smnu2);
this.add(mnu1);
this.setVisible(true);
}
}
class FenetreConteneur extends JDesktopPane
{
private FenetreConteneur()
{
int i=0;
this.add(new FenetreSecondaire("Fenetre " + i));
this.setVisible(true);
}
public static FenetreConteneur getInstance()
{
if(instance == null)
instance = new FenetreConteneur();
return instance;
}
private static FenetreConteneur instance = null;
}
class FenetrePrincipale extends JFrame
{
public FenetrePrincipale()
{
this.setJMenuBar(new barre());
this.getContentPane().add(FenetreConteneur.getInstance());
this.setVisible(true);
}
}
class FenetreSecondaire extends JInternalFrame
{
public FenetreSecondaire(String titre)
{
this.setTitle(titre);
this.setMaximizable(true);
this.setClosable(true);
this.setSize(200,150);
this.setResizable(true);
this.setVisible(true);
JTextArea g = new JTextArea(50,30);
g.setLineWrap(true);
this.getContentPane().add(g);
}
}
public class feuilleMDI
{
public static void main(String arg[])
{
FenetrePrincipale f = new FenetrePrincipale();
f.setSize(750,800);
}
}