IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

[debutant]Cherche a actualiser un panel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut [debutant]Cherche a actualiser un panel
    Bonjour,
    Je chercher a actualiser un panel quand je clique sur un boutton,en effet mon panel a sa creation a juste un label.En cliquant sur un boutton je souhaite que mon panel rajoute des labe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    class simul extends JFrame implements ActionListener{
     
    	JPanel pan_principal,pan_grille,pan_edition,gril,pan_config;
    	JButton parametre;
    	Boolean boo=false;
    	public simul(){
     
    	// parametre de ma frame
     
    	super("Microsimulation");
     
    	//on va scinder la frame en 2partie: une contenant la grille ,l autre l'edition
    	//Je cree pour cela 3 panel une contenant le tout ;les 2 autre comme indique ci dessus
    	System.out.println("re");
    	pan_principal=new JPanel();
    	getContentPane().add(pan_principal);
     
    	//panel qui contient la grille
     
    	Container pan_grille = new Container();
    	GridBagLayout repartiteur = new GridBagLayout();
    	GridBagConstraints contraintes;
    	pan_grille.setLayout(repartiteur);
     
    		// creation du panel grille
     
    		gril =new grille();
     
    		//creation des contraintes
     
    		contraintes = new GridBagConstraints();
    		contraintes.gridx = 0;
    		contraintes.gridy = 0;
    		contraintes.gridwidth = 8;
    		contraintes.gridheight = 4;
    		contraintes.fill=GridBagConstraints.BOTH;
    		//contraintes.anchor = GridBagConstraints.CENTER;
    		contraintes.weightx = 1;
    		contraintes.weighty = 1;
    		contraintes.ipadx=400;
    		contraintes.ipady=400;
    		repartiteur.setConstraints(gril,contraintes);
    		pan_grille.add(gril);
     
    		// on ajoute la pan contenant la grille dans la pan principle
     
    		pan_edition = new JPanel();
    		JScrollPane ecriture = new JScrollPane(new JTextArea());
    		JTextArea text = new JTextArea();
    		JLabel mess= new JLabel("jkdjskj");
    		//pan_edition.add(mess);
    		//ecriture.setSize(150, 150);
    		/*ecriture.setLocation(10, 10);*/
    		pan_edition.add(ecriture);
    		//pan_edition.add(text);
     
     
    		  //ajout de jscropplane
    		contraintes = new GridBagConstraints();
    		contraintes.gridx = 8;
    		contraintes.gridy = 0;
    		contraintes.gridwidth = 1;
    		contraintes.gridheight = 1;
    		contraintes.fill=GridBagConstraints.BOTH;
    		//contraintes.anchor = GridBagConstraints.CENTER;
    		contraintes.weightx = 1;
    		contraintes.weighty = 1;
    		contraintes.ipadx=110;
    		//contraintes.ipady=400;
    		repartiteur.setConstraints(ecriture,contraintes);
    		pan_grille.add(ecriture);
     
    	//ajout du mode edition de la route
    		pan_config=new border(boo);
     
    		contraintes = new GridBagConstraints();
    		contraintes.gridx = 8;
    		contraintes.gridy = 1;
    		contraintes.gridwidth = 1;
    		contraintes.gridheight = 2;
    		contraintes.fill=GridBagConstraints.BOTH;
    		//contraintes.anchor = GridBagConstraints.CENTER;
    		contraintes.weightx = 1;
    		contraintes.weighty = 1;
    		contraintes.ipadx=110;
    		//contraintes.ipady=400;
    		repartiteur.setConstraints(pan_config,contraintes);
    		pan_grille.add(pan_config);
     
     
    		//ajout du boutton
    		parametre=new JButton("parametre");
    		parametre.addActionListener(this);
     
    		contraintes = new GridBagConstraints();
    		contraintes.gridx = 8;
    		contraintes.gridy = 3;
    		contraintes.gridwidth = 1;
    		contraintes.gridheight = 1;
    		contraintes.fill=GridBagConstraints.BOTH;
    		//contraintes.anchor = GridBagConstraints.CENTER;
    		contraintes.weightx = 1;
    		contraintes.weighty = 1;
    		//contraintes.ipadx=110;
    		//contraintes.ipady=400;
    		repartiteur.setConstraints(parametre,contraintes);
    		pan_grille.add(parametre);
     
    		pan_principal.add(pan_grille);
     
    	}
     
    	public void actionPerformed(ActionEvent e){
    	if(e.getSource()==parametre)
    		{
    		boo=true;
     
    // ICI JE VOUDRAIS QUE MON PANEL CHANGE , CELUI DE PAN_CONFIG
     
    		}
    	}
     
     
     
    	public static void main(String args[]){
    		JFrame u=new simul();
    		u.setSize(600,450);
    		u.setVisible(true);
    		u.setResizable(false);
    		u.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
     
    }
    et voila ma classe border
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public class border extends JPanel{
    JLabel lab=new JLabel("tiede");
     
    	border(Boolean b){
    	if(b==true)
    		{
    		add(lab);
    		JLabel lab1=new JLabel("tiede2");
    		add(lab1);
    		}
    	else
    		{
    	add(lab);
    		}
    	setBorder(
                    BorderFactory.createCompoundBorder(
                                    BorderFactory.createTitledBorder("Configuration"),
                                    BorderFactory.createEmptyBorder(10,10,10,10)));
    	}

    Voila j'espere que j'ai bien explique

  2. #2
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Je suis pas sûr d'avoir bien compris ce que tu veux.

    Tu souhaite qu'en appuyant sur un bouton ça t'ajoute des labels ?

    Une solution serait alors de les créer des le départ et de les mettre en invisible (setVisible(false)).
    Et quand tu clique sur le bouton, tu le remets à true.

    En plus ça a l'avantage de créer ces labels dés le lancement de l'appli.
    (ça peut aussi être un désavantage, mais si c'est que des labels, ça va.)

  3. #3
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Essaie avec la méthode panel.validate() ( http://java.sun.com/j2se/1.4.2/docs/...tml#validate())
    puis fait un repaint() ou un updateUI() ou un truc dans le genre

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut
    merci pour vos reponses
    La methode validate ou updateUI ne marche pas ou du moins je n'arrive pas a la faire marcher.
    Pour cacher mes elements,ce n'est pas la bonne solution pour ce que je veux faire.
    En fait,l'action de mon boutton doit redessiner mon panel "configuration" pour afficher de nouveaux elements.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Par défaut
    ce que tu peux faire aussi c'est créer plusieurs panel que tu place exactement à la meme place, et seulement un seul est visible.
    des panels contienne une suite de composant, et l'appui sur ton bouton rend invisible un panel et visible l'autre ?
    je crois que c'est possible...
    ou sinon tu remove ton panel et tu add ton autre panel... c'est peut etre plus cela... qui est possible
    mais dans les 2cas tes panel doivent être à la meme place placer avec les même contraintes.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut
    Sinon peut on passer par la classe Observer et observable??

Discussions similaires

  1. [débutant] cherche à afficher un texte
    Par Méta dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 21/04/2006, 11h59
  2. [Debutant]Cherche equivalent à CObArray pour stocker des obj
    Par etiennegaloup dans le forum Débuter
    Réponses: 2
    Dernier message: 10/04/2006, 22h49
  3. debutant cherche lumiere... :o)
    Par barbarello dans le forum Débuter
    Réponses: 3
    Dernier message: 18/02/2006, 22h04
  4. [debutant] cherche un composant
    Par yupa dans le forum Débuter
    Réponses: 6
    Dernier message: 03/07/2005, 12h14
  5. [debutant] cherche a creer une view a distance
    Par bobwilson dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/03/2005, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo