Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[NOOB] Problème de rafraichissement d'un JFrame

4 réponses
Avatar
none
Bonjour,

J'ajoute/supprimer des composants dans une JFrame en cours d'execution.
Mais je dois redimensionner cette JFrame pour que la nouvelle apparence
apparaisse (?)

A part la solution pas très propre de redimensionner par le code ma
JFrame, je ne voit pas ...

Si quelqu'un pouvait m'éclairer ...
D'avance merci ,

Je soumet çi-dessous mon code :


==============================================================
package jsyncftp.frontend;

/**
* <p>Titre : JSyncFTP</p>
*
* <p>Description : Synchronize local and ftp folder's</p>
*
* <p>Copyright : Copyright (c) 2006</p>
*
* <p>Société : </p>
*
* @author Florent Gabriel
* @version 1.0
*/

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

import java.util.HashMap;

public class GUI extends JFrame {

JLabel jLabel1 = new JLabel();

public GUI() {
super();

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

getContentPane().setLayout(new FlowLayout());

getContentPane().add(new DefSourceFrame());

pack();
show();
}

class DefSourceFrame extends JPanel implements ItemListener {

CheckboxGroup chkGroup;

Checkbox chkLocal;
Checkbox chkFTP;

JPanel underPan;

public DefSourceFrame() {
super();
setLayout(new FlowLayout());

chkGroup = new CheckboxGroup();

chkLocal = new Checkbox("Local",chkGroup,false);
chkFTP = new Checkbox("FTP",chkGroup,false);

// actions :
chkLocal.addItemListener(this);
chkFTP.addItemListener(this);

underPan = new JPanel();

add(chkLocal);
add(chkFTP);

add(underPan);


}

public void itemStateChanged(ItemEvent e) {
if (e.getSource() == chkLocal) {
underPan.removeAll();
underPan.setLayout(new GridLayout(1,2));
underPan.add(new JLabel("Dossier root : "));
underPan.add(new JTextField());
}
else if (e.getSource() == chkFTP) {
underPan.removeAll();
underPan.setLayout(new GridLayout(4,2));
underPan.add(new JLabel("Adresse du serveur : "));
underPan.add(new JTextField());
underPan.add(new JLabel("Chemin du dossier : "));
underPan.add(new JTextField());
underPan.add(new JLabel("Login : "));
underPan.add(new JTextField());
underPan.add(new JLabel("Mot de passe : "));
underPan.add(new JPasswordField());
}
}
}

public static void main(String[] args) {
new GUI();
}
}

==============================================================

TSalm

4 réponses

Avatar
Franck D

A part la solution pas très propre de redimensionner par le code ma
JFrame, je ne voit pas ...



Je ne sais pas si c'est ce qu'il y de plus élégant mais tu peux faire un
pack()

Avatar
TestMan
Bonjour,

J'ajoute/supprimer des composants dans une JFrame en cours d'execution.
Mais je dois redimensionner cette JFrame pour que la nouvelle apparence
apparaisse (?)

A part la solution pas très propre de redimensionner par le code ma
JFrame, je ne voit pas ...

Si quelqu'un pouvait m'éclairer ...
D'avance merci ,

Je soumet çi-dessous mon code :
<...>


TSalm


Problème semblable déjà répondu dans ce groupe il me semble ;-)

A+
TM

Avatar
none
Bonjour,

J'ajoute/supprimer des composants dans une JFrame en cours
d'execution. Mais je dois redimensionner cette JFrame pour que la
nouvelle apparence apparaisse (?)

A part la solution pas très propre de redimensionner par le code ma
JFrame, je ne voit pas ...

Si quelqu'un pouvait m'éclairer ...
D'avance merci ,

Je soumet çi-dessous mon code :
<...>


TSalm


Problème semblable déjà répondu dans ce groupe il me semble ;-)



Pas trouvé, désolé...

pack() fonctionne très bien
merci !


Avatar
TestMan
Bonjour,

J'ajoute/supprimer des composants dans une JFrame en cours
d'execution. Mais je dois redimensionner cette JFrame pour que la
nouvelle apparence apparaisse (?)

A part la solution pas très propre de redimensionner par le code ma
JFrame, je ne voit pas ...

Si quelqu'un pouvait m'éclairer ...
D'avance merci ,

Je soumet çi-dessous mon code :
<...>


TSalm


Problème semblable déjà répondu dans ce groupe il me semble ;-)



Pas trouvé, désolé...

pack() fonctionne très bien
merci !


conteneur.revalidate(); // planifie pour un réarangement spatial
conteneur.repaint(); // réaffichage DQP

A+
TM