begin process at 2008 08 28 16:03:38
1 233 196 membres
298 nouveaux aujourd'hui
14 291 membres club

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 : 4 383

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

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

Snippets en rapport

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS