Bonjour, j'ai dans une JFrame, un petit espace dans lequel je fais
apparaître dynamiquement des composants (des petits JTextField, des
boutons, etc.) ; cet espace est un JScrollBar contenant un JPanel ;
donc j'ajoute au JPanel les composants de façon dynamique. Sur mon OS
(FreeBSD, qui utilise en fait le jdk pour Linux), tout marche comme je
veux : affichage instantané dès l'utilisation de la méthode
JPanel.add(), et disparition instantané dès que je supprime le
composant. En revanche, l'utilisateur travaille sur des Mac OS X
auxquels je n'ai pas accès pour des raisons géographiques. Or, chez lui,
si la disparition est bien immédiate, l'apparition ne se fait qu'au bout
d'environ trois minutes s'il ne touche à rien ou alors dès qu'il
commence à redimensionner et déplacer sa fenêtre. Du coup, je lui ai
envoyé une version avec des repaint() sur à peu près tout :
- le JPanel,
- le JScrollbar
- le JViewport associé au JScrollbar
de mon côté je ne constate aucune différence, mais lui non plus.
Auriez-vous une idée de la nature exacte de l'opération de
"rafraîchissement" qui correspond à mon besoin ?
Cordialement,
--
Thomas Baruchel
Pour m'écrire : http://cerbermail.com/?OEyHGNQFEa
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JScoobyCed
Thomas Baruchel wrote:
Bonjour, j'ai dans une JFrame, un petit espace dans lequel je fais apparaître dynamiquement des composants (des petits JTextField, des boutons, etc.) ; cet espace est un JScrollBar contenant un JPanel ; donc j'ajoute au JPanel les composants de façon dynamique. Sur mon OS (FreeBSD, qui utilise en fait le jdk pour Linux), tout marche comme je veux : affichage instantané dès l'utilisation de la méthode JPanel.add(), et disparition instantané dès que je supprime le composant. En revanche, l'utilisateur travaille sur des Mac OS X auxquels je n'ai pas accès pour des raisons géographiques. Or, chez lui, si la disparition est bien immédiate, l'apparition ne se fait qu'au bout d'environ trois minutes s'il ne touche à rien ou alors dès qu'il commence à redimensionner et déplacer sa fenêtre. Du coup, je lui ai envoyé une version avec des repaint() sur à peu près tout : - le JPanel, - le JScrollbar - le JViewport associé au JScrollbar de mon côté je ne constate aucune différence, mais lui non plus.
Auriez-vous une idée de la nature exacte de l'opération de "rafraîchissement" qui correspond à mon besoin ?
Cordialement,
Au lieu de repaint() (qui etait deja appele de toute facon), vous pouvez essayer:
maFrame.validate();
ou maFrame est le Container principale (Window, JWindow, Frame, JFrame, ...)
<javadoc> public void validate()
Validates this container and all of its subcomponents.
The validate method is used to cause a container to lay out its subcomponents again. It should be invoked when this container's subcomponents are modified (added to or removed from the container, or layout-related information changed) after the container has been displayed. </javadoc>
-- JSC
Thomas Baruchel wrote:
Bonjour, j'ai dans une JFrame, un petit espace dans lequel je fais
apparaître dynamiquement des composants (des petits JTextField, des
boutons, etc.) ; cet espace est un JScrollBar contenant un JPanel ;
donc j'ajoute au JPanel les composants de façon dynamique. Sur mon OS
(FreeBSD, qui utilise en fait le jdk pour Linux), tout marche comme je
veux : affichage instantané dès l'utilisation de la méthode
JPanel.add(), et disparition instantané dès que je supprime le
composant. En revanche, l'utilisateur travaille sur des Mac OS X
auxquels je n'ai pas accès pour des raisons géographiques. Or, chez lui,
si la disparition est bien immédiate, l'apparition ne se fait qu'au bout
d'environ trois minutes s'il ne touche à rien ou alors dès qu'il
commence à redimensionner et déplacer sa fenêtre. Du coup, je lui ai
envoyé une version avec des repaint() sur à peu près tout :
- le JPanel,
- le JScrollbar
- le JViewport associé au JScrollbar
de mon côté je ne constate aucune différence, mais lui non plus.
Auriez-vous une idée de la nature exacte de l'opération de
"rafraîchissement" qui correspond à mon besoin ?
Cordialement,
Au lieu de repaint() (qui etait deja appele de toute facon), vous pouvez
essayer:
maFrame.validate();
ou maFrame est le Container principale (Window, JWindow, Frame, JFrame, ...)
<javadoc>
public void validate()
Validates this container and all of its subcomponents.
The validate method is used to cause a container to lay out its
subcomponents again. It should be invoked when this container's
subcomponents are modified (added to or removed from the container, or
layout-related information changed) after the container has been displayed.
</javadoc>
Bonjour, j'ai dans une JFrame, un petit espace dans lequel je fais apparaître dynamiquement des composants (des petits JTextField, des boutons, etc.) ; cet espace est un JScrollBar contenant un JPanel ; donc j'ajoute au JPanel les composants de façon dynamique. Sur mon OS (FreeBSD, qui utilise en fait le jdk pour Linux), tout marche comme je veux : affichage instantané dès l'utilisation de la méthode JPanel.add(), et disparition instantané dès que je supprime le composant. En revanche, l'utilisateur travaille sur des Mac OS X auxquels je n'ai pas accès pour des raisons géographiques. Or, chez lui, si la disparition est bien immédiate, l'apparition ne se fait qu'au bout d'environ trois minutes s'il ne touche à rien ou alors dès qu'il commence à redimensionner et déplacer sa fenêtre. Du coup, je lui ai envoyé une version avec des repaint() sur à peu près tout : - le JPanel, - le JScrollbar - le JViewport associé au JScrollbar de mon côté je ne constate aucune différence, mais lui non plus.
Auriez-vous une idée de la nature exacte de l'opération de "rafraîchissement" qui correspond à mon besoin ?
Cordialement,
Au lieu de repaint() (qui etait deja appele de toute facon), vous pouvez essayer:
maFrame.validate();
ou maFrame est le Container principale (Window, JWindow, Frame, JFrame, ...)
<javadoc> public void validate()
Validates this container and all of its subcomponents.
The validate method is used to cause a container to lay out its subcomponents again. It should be invoked when this container's subcomponents are modified (added to or removed from the container, or layout-related information changed) after the container has been displayed. </javadoc>
-- JSC
Isammoc
Auriez-vous une idée de la nature exacte de l'opération de "rafraîchissement" qui correspond à mon besoin ?
unvalid? revalid?
ou un truc du genre *a la flemme de chercher sur la javadoc*
Pour moi, c'est ca qui avait marcher.
ou un repaint(0)
Cordialement,
de meme
-- Isammoc
Auriez-vous une idée de la nature exacte de l'opération de
"rafraîchissement" qui correspond à mon besoin ?
unvalid? revalid?
ou un truc du genre
*a la flemme de chercher sur la javadoc*