Bonjour
Je voudrais connaitre la taille d'une JFrame pendant le resize (et non pas après)... je ne peux donc pas utiliser componentResized![]()
![]()
Connaissez-vous un évenement style "onResize" ?
Bonjour
Je voudrais connaitre la taille d'une JFrame pendant le resize (et non pas après)... je ne peux donc pas utiliser componentResized![]()
![]()
Connaissez-vous un évenement style "onResize" ?
bonjour
As tu essayé un WindowStateListener
http://java.sun.com/j2se/1.5.0/docs/...eListener.html
tu implémente ensuite ton code dans le corps de la méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 windowStateChanged(WindowEvent e){ //.... }
Oui, j'ai essayé et ça ne fonctionne pas... Je suis vraiment embêté car je n'ai pas beaucoup d'idées...
Bonjour,
Peux-tu préciser un peu plus ce que tu entends par "taille d'une JFrame pendant le resize" ?
Nicolas
montre nous ton code aussi, ça sera plus facile à comprendre.
vas faire un tour du coté des tutoriaux du site et de ceux de Sun pour les idées :p.
tu as implémenter ton WindowStateListener, mais as tu ajouter le listener à la liste de "diffusion" de ta fenêtre?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 maJframeAMoi.addWindowStateListener( new WindowStateListener() { public void windowStateChanged(WindowEvent e){ System.out.println("taille: "+maJframeAmoi.getSize()); } });
Prenons un exemple: afficher la taille de la fenetre dans un JLabel (ou comme titre de la fenetre, peu importe) pendant le resize...
Il y a bien le paint() qui me vient à l'esprit mais j'aurais voulu qqch de plus précis... Et en plus j'ai l'impression que le paint() est appelé uniquement quand j'agrandis la fênetre...
Le bout de code ci-dessous pour afficher après le resize.
Pour afficher pendant, je ne vois pas pour l'instant avec les listeners.
Tu peux toujours créer un Thread qui vérifie toutes les x millisecondes la taille de la fenêtre, et agit en cas de changement.
Nicolas
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 import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import javax.swing.JFrame; public class TestReSize { public static void main(String[] args) { final JFrame frame = new JFrame(); frame.setSize(300,300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent e){ System.out.println("nouvelle taille : "+frame.getSize()); } }); frame.setVisible(true); } }
Partager