Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UTILISATION D'UN JDESKTOPPANE


Information sur la source

Catégorie :Api Classé sous : jdesktoppane, jinternalframe, mdi, exemple Niveau : Débutant Date de création : 14/02/2003 Date de mise à jour : 14/02/2003 22:49:48 Vu : 9 292

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

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

Source

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

Commentaires et avis

signaler à un administrateur
Commentaire de fguerite26 le 02/06/2003 16:47:57

Tres bon code et  bien clair.
Merci beaucoup.

signaler à un administrateur
Commentaire de Kloun le 07/10/2003 09:04:50

Merci pour la source, ça m'a bien dépanné.
Juste une question : comment intégrer les barres de défilement dans le cas ou la JInternalFrame déborde le JDesktopPane ?

signaler à un administrateur
Commentaire de titeuf921 le 07/10/2003 20:55:20

Il semblerai que le JDesktopPane de base n'ait pas été prévu pour intégré un JScrollPane afin de resoudre ce probleme. Cependant il semblerai qu'en creeant un JDesktopManager le probleme pourrait etre réglé. Autrement j'ai trouvé ca si ca peut aider

http://www.javaworld.com/javaworld/jw-11-2001/jw-1130-jscroll.html

signaler à un administrateur
Commentaire de Kloun le 08/10/2003 08:00:43

Merci pour ta réponse.
J'avais trouvé ce code aussi (super efficace d'ailleurs).
;o)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

JInternalFrame qui prend pas tout l espace [ par dragon ] Je veux créée plusieurs JInterFrame mais qui prennent seulement une certaine section de la page.En gros, j'ai un JToolBar en hait et des menu a droite prob avec les fenêtres MDI [ par veuve_noir ] Salut à tous,j'utilise le JBuilder pour réaliser une application de gestion des configurations d'équipment réseau telque les  routeurs et les switchs. Problème JDesktopPane, JInternalFrame [ par dragchm ] Salut tout le monde voila mon problème j'ai crée un jFrame ou j'affiche plusieurs JInternalFrame dans l'une de JInternalFrame (J1) j'ai crée un jbutto MDI et JInternalFrame [ par Ouattara Idriss ] J'ai développé une appli MDI avec java qui tourne assez bien. Mais j'ai un problème. J'utilise des JInternal Frames dans ma MDI. Je voudrais savoir co JInternalFrame: petite question [ par kanagan ] Bonjour, J'ai une petite question sur les JInternalFrame. En effet, par exemple j'ai une JFrame dans laquelle je place une JInternalFrame (c'est jus Problème JDesktopPane, JInternalFrame et JPanel [ par aurel16v ] Bonjour tout le monde!Je développe un JApplet dans lequel j'ai un JPanel et des JInternalFrame. Le problèmes, c'est que je n'arrive pas a g& JLayeredPane et JDesktop qui se recouvrent [ par TRAX44 ] bonjour, voila j'ai besoin d'utiliser un JDesktopPane pour des JInternalFrame et un JLayeredPane pour avoir plusieurs calques superposés Le problè MDI et JInternalFrame [ par ikramta ] bonjour tout le mande .j'utilise une fenetre principale et  des internalframe je veut que chaque foit que je charge un jinternalframe dans ma fenetre Problème d'idée de sujet [ par ichigoZ710 ] Bonjour,je sollicite votre aide en cette période de début de cours. J'ai un exercice à faire mais la je dois dire que je patauge pour trouver une idée Compression d'image [ par pesti ] Bonjour,j'essais de réaliser un petit soft qui compresse les images.La stratégie est de découpé l'image en carré de 8*8 pixels et d'effectuer les opér


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.