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 !

COMMENT SE PASSER DES LAYOUTMANAGERS !!!!


Information sur la source

Catégorie :Astuces Classé sous : layout, manager, null Niveau : Débutant Date de création : 02/04/2003 Date de mise à jour : 02/04/2003 11:22:06 Vu : 5 337

Note :
5,75 / 10 - par 4 personnes
5,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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


Description

Comment faire pour placer ses composants graphiques a l'endroit que l'on veut
 

Source

  • import javax.swing.JFrame;
  • import javax.swing.JLabel;
  • public class NoLayout extends JFrame
  • {
  • public NoLayout()
  • {
  • // on donne une taille a la fenetre
  • setSize(400,400);
  • // un titre
  • setTitle("No Layout");
  • // On met le layout a null
  • getContentPane().setLayout(null);
  • // On créé un Composant et on l ajoute au container
  • JLabel lab = new JLabel("coucou");
  • getContentPane().add(lab);
  • // On le place ou on veut
  • lab.setBounds(50,75,100,20);
  • /** le premier argument et le deuxieme indiquent l'emplacement
  • * du coin superieur gauche du composant par rapport au container
  • * ici, il sera a 50 pixels du bord gauche et a 75 du haut
  • *
  • * le troisieme argument est la largeur du composant et le dernier
  • * représente la hauteur
  • */
  • }
  • // point d entée du programme
  • public static void main(String[] args)
  • {
  • // Instanciation de notre fenetre
  • NoLayout fen = new NoLayout();
  • // Affichage
  • fen.setVisible(true);
  • }
  • }
import javax.swing.JFrame;
import javax.swing.JLabel;


public class NoLayout extends JFrame
{
	public NoLayout()
	{
		// on donne une taille a la fenetre
		setSize(400,400);
		
		// un titre
		setTitle("No Layout");
			
		// On met le layout a null
		getContentPane().setLayout(null);
		
		// On créé un Composant et on l ajoute au container
		JLabel lab = new JLabel("coucou");
		getContentPane().add(lab);
		
		// On le place ou on veut
		lab.setBounds(50,75,100,20);
		
		/** le premier argument et le deuxieme indiquent l'emplacement
		 * du coin superieur gauche du composant par rapport au container
		 * ici, il sera a 50 pixels du bord gauche et a 75 du haut
		 * 
		 * le troisieme argument est la largeur du composant et le dernier
		 * représente la hauteur
		 */		
	}
	
	// point d entée du programme
	public static void main(String[] args)
	{
		// Instanciation de notre fenetre
		NoLayout fen = new NoLayout();
		
		// Affichage
		fen.setVisible(true);
	}
}

Conclusion

voila c'est assez simple mais ca peut etre utile
Duss
 

Commentaires et avis

signaler à un administrateur
Commentaire de Mikonyx le 03/04/2003 17:41:55

Jcrois qu'en utilisant cette méthode, ton interface risque de ne pas être portable...tu perds un des avantages de Java...

signaler à un administrateur
Commentaire de Duss le 03/04/2003 22:23:06

je veux bien te croire mais explique moi pourquoi on perdrait la portabilité en faisant ca ?

signaler à un administrateur
Commentaire de Mikonyx le 04/04/2003 18:44:28

Surement des problèmes de coordonnées, de gestion de fenêtre suivant le système d'exploitation, enfin il me semble.

signaler à un administrateur
Commentaire de Gaelle le 04/04/2003 20:35:14

Non il ne perdrait pas la portabilité. Un pixel reste un pixel quelque soit le système d'exploitation. Par contre tu vas perdre en fonctionnalités... Par exemple pour le redimensionnement. En effet le point d'ancrage étant fixe il ne sera pas recalculé (à moins de le faire manuellement mais c'est fastidieux d'où l'intéret des layout pour le gérer) et donc si tu rapetissis ta fenêtre et bien plus de boutons... Autre point important aussi l'adaptabilité à l'écran. En passant d'une configuration en 1024x768 vers du 800x600 ben badaboum ta fenêtre risque de déborder car la taille du pixel change. A mon avis cela doit rester dans un domaine d'appli simple genre une fenêtre de dialogue ou alors pour tester rapidement une autre appli.
Voili voilou, Gaëlle

signaler à un administrateur
Commentaire de repented_one le 06/07/2004 00:31:35

Merci, tu viens de me sauver d'une prise de tete monstrueuse avec GridBagLayout !!

signaler à un administrateur
Commentaire de SymonFR le 09/07/2004 18:35:16

Oulah ! C'est du grand n'importe quoi ça !

Quand on parle de portabilité avec Java, on ne parle pas que du système d'exploitation...

Effectivement un pixel reste un pixel. Par contre, si tu développes une application en langue Anglaise, avec un bouton que tu libelleras "rates" et qui affichera les taux de changes. Bref, plus tard... tu veux internationaliser ton application pour y gérer la langue française par exemple... Et pas de bol, ton client veux que le bouton "rates" soit traduit "taux de change" et non pas "taux" pour que ce soit bien clair pour l'utilisateur.

Ben la, t'as tout gagné, tu dois te tapper 1/ le travail de traduction (ça on peut pas y couper) et 2/ revoir l'ensemble de ton interface graphique.

Ce n'est qu'un exemple (vrai) parmis tant d'autre.

MORALITE : Utilisez des layouts ! Vous gagnerez systématiquement du temps sur des gros projets qui évoluent dans le temps ... et ca prend pas plus de temps que le "XYLayout" quand on a pris l'habitude ...

signaler à un administrateur
Commentaire de tncoder le 03/08/2005 08:25:34

salut
ton petit code est bien pour un débutant , et pour commenter entre autre ce k'a dit MIKONYX ,  l'utilisation des coordoonées avec le setBounds te fé perdre l'estetik de ton frame lorsque tu agranndie ou tu réduit la taille de celle ci
donc je te demande la premission d'utiliser le meme code en le modifiant de sorte k'il soit parfait kelke soit la taille de la fenetre >>>>>>> kom ça y a aucunede raison de s'en faire pour la portabilité
mes respects :)

signaler à un administrateur
Commentaire de kiwilee le 18/05/2006 15:22:17

Super, je cherchais ca depuis longtemps. Ce n'éatit jamais aussi clairement expliqué. MERCI

signaler à un administrateur
Commentaire de rainiou le 05/03/2007 21:12:23

Perso, pour une application qui ne se redimensionne pas et qui n'a pas de raison d'etre multilingue c'est tres tres bien! COmme je suis dans ce cas je suis evidemment heureux! Par contre il est vrai qu'il faut prendre en compte les commentaires ci dessus...

Bien à toi!

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Layout Manager [ par mtniang ] Bonjour.Je fais un exposé sur  les gestionnaires de disposition en java .Et je voudrai savoir avec quelle version de JDBC les layout manager ont comme Layout Manager [ par mtniang ] Bonjour.Je voudrai savoir avec quelle version de JDK les layout manager ont commencé.Merci de votre aide Layout [ par didoux95 ] Bonjour à tous.J'ai un petit problème avec les Layout. Je suis en train de construire une fenêtre qui "ajuste" automatiquement le nombre de composants Pb JMF & Streaming Video [ par huho ] Bonjour,Je travaille sur un projet (pour mes études) de video-surveillance. J'essaye désespérément de lire le streaming vidéo d'une caméra IP (Vivotek JMF Connection Camescope [ par gui8676 ] Bonjour,J'ai un code qui me permet de recupérer le flux vidéo d'une Webcam:ml = new MediaLocator("vfw://0");player = Manager.createRealizedPlayer(ml); Un ptit conseil/aide serait le bienvenue (Java graphique) [ par Al3x38 ] Bonjour tout le monde ;)Voila, dans le cadre d'un projet d'informatique, je dois réaliser un petit programme en java avec une interface agéable ! Alor Creer un jPanel [ par Steph115 ] Bonjour,J'utilise ce code ci dessous pour insérer un jpanel qui a une image de fond dans un jpanel existant.Le jpanel ne s'affiche pas dans l'applicat camera [ par mimi1255 ] j'ai fait ceci, je n'ai pas d'erreur mais ma caméra ne s'affiche pas, pouvez-vous m'aider? 1er fichier: AxisCamera<pre class="alt2" dir="ltr" style="b Image+diaporama [ par khallou2007 ] j'ai un projet Java dont le but créé une application (graphique) qui Problème avec Spring Layout [ par zikos0 ] Bonjour, j'ai un JPanel dans lequel j'ai mis des JLabels et des JTextFields et je souhaite les agencer en deux colonnes : dans la première je veux met


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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,437 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é.