Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3680 connectés 

 


Dernière réponse
Sujet : [Java] Détection d'un componentqui passe a setVisible(false)
aurel pour ceux qui veulent voila la réponse
c pas un ComponentListener qu'il faut mais PopupMenuListener !!!
2 heures de perdus pour des conneries!!
pbl réglé en 4 min ...

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
aurel pour ceux qui veulent voila la réponse
c pas un ComponentListener qu'il faut mais PopupMenuListener !!!
2 heures de perdus pour des conneries!!
pbl réglé en 4 min ...
aurel Ouais merci.
 
Mais c'est pa vraiment ca  que je veux, je veux que ce soit le composant lui-meme qui me dise quand il est plus visible.
je veux a avoir a aller le chercher moi-meme.
 
c pour ca que j'ai pensé a l'interface ComponentListener
lamatrice rectification,
 
après 20 seconde de recher dans la doc api j'ai trouvé ce qui t'avais besoin : isShowing()
 
public boolean isShowing()
Determine if the object is showing. This is determined by checking the visibility of the object and ancestors of the object. Note: this will return true even if the object is obscured by another (for example, it happens to be underneath a menu that was pulled down).
 
 
 
http://java.sun.com/j2se/1.3/docs/api/index.html
lamatrice tu essayer la methode isVisible()  ?
 
boolean isVisible()
aurel J'ai une Gui avec des composants qu'on peut déplacer sur une fenetre(mousedragged) et quand on clique droit sur un composant j'ai un jpopupmenu qui apparait et qui contient deux boutons cliquables.
je voudrais savoir quand le popup disparait. Quand je clique sur un des deux boutons c ok, mais quand je clique ailleurs, ca marche pas, alors que je lui ai pourtant assigné un componentListener(hidden, shown..)
 
voila une partie du code:
 j'espere que c'est compréhensible  
 
public class ListenerComponent implements ListenerMain, ActionListener, java.awt.event.ComponentListener
{
 /* the pointclick when dragg */
 private Point clickPoint;
 private JPopupMenu jpm;
 private JFrame frame;
 private PropertyChangeSupport pcs;
 private java.awt.Font fontMenu;
 
public ListenerComponent(JFrame frame)
 {
  this.frame = frame;
  pcs = new PropertyChangeSupport(this);
  fontMenu = new java.awt.Font("Arial",java.awt.Font.PLAIN, 11);
  jpm = new JPopupMenu();
 }
   
 public void componentHidden(java.awt.event.ComponentEvent e)
 {
  System.out.println("hidden" );
  System.out.println(e.getSource());
  pcs.firePropertyChange(Component.PROPERTY_DISPLAYED, null,java.awt.Color.lightGray);
 }
 public void componentMoved(java.awt.event.ComponentEvent e){ System.out.println(e.getSource());
   System.out.println("moved" ); }
 public void componentResized(java.awt.event.ComponentEvent e){ System.out.println(e.getSource());
   System.out.println("resized" ); }
 public void componentShown(java.awt.event.ComponentEvent e){  System.out.println(e.getSource());
   System.out.println("shown" );}
 
 public void mouseClicked(MouseEvent e)
    {
     if (SwingUtilities.isLeftMouseButton(e))
     {
   Component component = (Component) e.getSource();
   displayProperties(component);
     }
     if (SwingUtilities.isRightMouseButton(e))
  {
   addPropertyChangeListener((Component) e.getSource());
   jpm.addComponentListener(this);
   pcs.firePropertyChange(Component.PROPERTY_DISPLAYED,
 null, new java.awt.Color(192,192,250));

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)