Utilisation d'un jdesktoppane

Contenu du snippet

utilisation des fenetre MDi en JAVA grace a l'interface en swing

Source / Exemple :


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);
	}
}

Conclusion :


www.softik.fr.St

A voir également

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.