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 !

AJOUTER PLUSIEURS COMPOSANT À UN JPANEL


Information sur la source

Catégorie :Astuces Classé sous : jpanel Niveau : Débutant Date de création : 08/07/2006 Vu : 5 245

Note :
1 / 10 - par 2 personnes
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

comme il est dit dans le titre, la classe ajoute plusieurs composant à un JPanel mais en une seule commande add.
la classe JPanelFlow surcharge la méthode add de JPanel.
 

Source

  • import java.awt.Component;
  • import javax.swing.JPanel;
  • public class JPanelFlow extends JPanel{
  • JPanelFlow(){
  • super();
  • }
  • void add(Component...comp){
  • for(Component compo:comp){
  • add(compo);
  • }
  • }
  • }
import java.awt.Component;

import javax.swing.JPanel;

public class JPanelFlow extends JPanel{
	
	JPanelFlow(){
		super();
	}
	
	void add(Component...comp){
		
		for(Component compo:comp){
			add(compo);
		}
		
	}
}

Conclusion

un petit exemple :

JPanelFlow orientation2=new JPanelFlow();
haut=new JButton("H");
bas=new JButton("B");
gauche=new JButton("G");
droite=new JButton("D");

orientation2.add(haut,bas,gauche,droite);
 

Commentaires et avis

signaler à un administrateur
Commentaire de sheorogath le 08/07/2006 17:41:25 administrateur CS

je sais aps trop quoi dire

pour moi ta clase n'as qu'un seul point positif celui de montrer deux specifité du JDK 5.0

enfin bon...

signaler à un administrateur
Commentaire de kaloway le 09/07/2006 09:01:44

je trouve qu'il fastidieux de devoir taper plusieurs fois la commande add pour ajouter plusieurs boutons. le concepte peut être utilisé pour les menus ou les barre d'outil. ces 2 types d'objets font appelle à pas mal de ligne de commande add. je pense que cette méthode peut améliorer la lisibilité du code.

signaler à un administrateur
Commentaire de GillesWebmaster le 09/07/2006 10:27:51

Comme tu le dis bien, sheorogath, la méthode add est très intéressante car elle nous montre comment définir plusieurs objets en arguments! Peu utile mais très illustrante!

signaler à un administrateur
Commentaire de sheorogath le 09/07/2006 10:47:28 administrateur CS

d'unn certain cote du as raison c'est vrai mais dans ce cas autant faire une classe avec une methode static du genre

public class astuce
public static void add(Component comp , Component... toadd){
    for(Component c : toadd)
         comp.add(c);
}
}

l'avantage c'est que ca marche pour plusieur composant commme les menu , JPanel etc
enfin en tout cas ton code est c'est vrai une petite astuce ;)

signaler à un administrateur
Commentaire de GillesWebmaster le 09/07/2006 10:54:06

public class astuce
{
public static void add(Component comp , Component... toadd)
{
    for(Component c : toadd)
         comp.add(c);
}
}
(il manquait une accolade)

signaler à un administrateur
Commentaire de sheorogath le 09/07/2006 10:55:50 administrateur CS

pardon :$
merci de la correction
(pas pratique cest text box pour ecrire du code :p)

signaler à un administrateur
Commentaire de GillesWebmaster le 09/07/2006 10:58:22

tellement c'est dommage que ce ne soit pas les mêmes que pour les forums!!!
Il pourraient au moins mettre des possibilités d'indentations!

signaler à un administrateur
Commentaire de kaloway le 09/07/2006 15:53:57

j'avoue que mon code n'est pas révolutionneur. c'est un simple petit code. l'idée de faire une classe static n'est pas mauvaise non plus. je pense que l'on peut réaliser un petit logiciel qui nous aide dans la création de gui. il y a des idées à creuser.

signaler à un administrateur
Commentaire de kaloway le 09/07/2006 16:03:42

pour l'histoire des text boxs sur code source, ça s'est améliorer par rapport par rapport il y a quelques années. cela serait bien d'avoir les mêmes possibiltés que sur le forum. et peut être avec des text box plus large aussi.

signaler à un administrateur
Commentaire de sheorogath le 09/07/2006 23:44:04 administrateur CS

ya un forum pour proposer ce genre de chose :p

signaler à un administrateur
Commentaire de anotec le 10/07/2006 14:49:13

Avant (avec JDK 1.4.2), on pouvait très bien utiliser un vecteur de composant ou une matrice de composant... pas très utile!

M-a-n-u.

signaler à un administrateur
Commentaire de anotec le 10/07/2006 14:53:25

Exemple:
import java.awt.Component;
import java.util.Vector;
import javax.swing.JPanel;
  
public class JPanelFlow extends JPanel{
    
    JPanelFlow(){
        super();
    }
    
    void addComp(Vector myComps[]){  //Ne pas 'override' add de JPanel!
        
        for ( int u=0; u < size(myComps); u++ ) {
            add((JComponent)myComps.get(u)); // 'add':JPanel method!
        }
    }
}

signaler à un administrateur
Commentaire de kaloway le 11/07/2006 18:12:06

le cas du vector est un mauvais exemple car il faut faire comme même des add pour ajouter les composants au vecteur. par contre dans le cas d'un tableau l'intéret est d'assurer la compatibilité ascendante. je trouve que ma méthode est un peu plus souple à l'usage que les tableaux car les tableaux il faut les créer. tu passe la réfèrence du tableau en paramaétre aussi.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

bouton [ par Aldee ] J'arret avec les questions sur les boutons apres. c'est la dernière.Je veux mettre un bouton dans un JPanel-OK.Je veux le mettre à des coordonnées spe supprimer une Jpanel [ par sanpexos ] Bonjour tout le mondeJ'ai un certain nombre de panneaux (JPanel) et j'aimerais tous les supprimer d'un coup lors du début d'une classe.Comment puis-je Scroll [ par MELISA ] Bonjour,Mon pb est le suivant:- je veux inserer un gif dans un JPanel, lui-même contenu dans un autre JPanel (je suis obligée d'utiliser un Panel au l compatibilite graphique j2sdk 1.4 et 1.3 [ par jbval ] Salut,g 1 pb avec une interface en java.Je crée des carrés dans un JPanel et tout marche avec la j2sdk 1.3 mais lorsque je veux executer le même code JTree [ par demonc ] Voila mon code . bonne chance et merci public class JRep implements ActionListener{ private JButton b1, b2; private JTree TreeLocal, TreeRemote; pri pb de visibilite ou plutot d invisibilite [ par benohite ] bonjour j ai cree une frame qui se construit a partir de 3 jpaneldans chaque jpanel je place un bouttonet j affiche le toutle pb c est que je ne vois Communication entre 2 classes pour une applet [ par Warwick ] Bonjour, je débute le java, et j'ai quelques petits problèmes pour faire communiquer 2 classes entre elles et j'aurais besoin de votre aide...Mon appl acceder a la largeur et la hauteur d'un JPanel [ par Frouf85 ] Bonjour bonjour,en faisant des getWidth() et get height(), je n'arrive pas a recupérer la taille de mon JPanel, c'est à dire qu'elle est toujours égal Ouvrir une page html dans un JPanel... [ par ChocoBiscuit ] Salut à tous...Je sais pas trop si c'est dans le bon forum...Si c'est pas le cas, ben désolé....Bon... hum...Je suis en plein projet java,et implément Impression [ par manu33 ] Salut,Je voudrais transformer mon JPanel en une image pour pouvoir le redimensionner avant impression. La seule solution que j'ai trouvé est la copie


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

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,499 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é.