🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #29340

Re: PopupMenu

#29340
From: Sergio Martinez Gonzalez
Date: Tue, 23 Dec 1997 00:00
80 lines
2975 bytes
Ricardo Garcia wrote:
> 
> Hola,
> Quiero programar un popup menu y no lo consigo. Bajo Windows 95 se activan
> con el bot�n derecho del rat�n pero la funci�n isPopupTrigger() no es nunca
> verdadera haga lo que haga.
> Puede ayudarme alguien?
> Ricardo
> 
> Esto es mas o menos lo que hago:
> 
> public class myClass extends Frame implements MouseListener {
> 
>   List list = new List(4, false);
>   this.add(list);
>   list.addMouseListener(this);
> 
>   PopupMenu popupEdition = new PopupMenu("Edition");
>   MenuItem delete = new MenuItem("Delete");
>   popupEdition.add(delete);
> 
>   list.add(popupEdition);
> 
>   ...
> 
>   public void mouseClicked(MouseEvent e) {
>     if (e.isPopupTrigger()) {
>       popupEdition.show(list, e.getX(), e.getY());
>     }
>   }
> 
> }
> 
> La funci�n mouseClicked es llamada que haga un click con el bot�n izquierdo
> o derecho, pero la condici�n no est� nunca satisfecha...

Prueba con esto:

  public void mouseClicked(MouseEvent e) {
    if ((e.getModifiers() & InputEvent.BUTTON3_MASK) != 0) {
      // pulsado bot�n derecho del rat�n
      // hacer cositas :)
    }
  }

Podr�amos considerarlo un 'walkaround', ya que lo inmediato
(isPopupTrigger()) no funciona. Lo que haces es comprobar qu� bot�n se
ha pulsado.

La clase java.awt.event.InputEvent tiene m�scaras para identificar los
botones del rat�n:

BUTTON1_MASK, bot�n izquierdo
BUTTON2_MASK, bot�n central (supongo, porque mi rat�n solo tiene dos
botones)
BUTTON3_MASK, corresponde al bot�n derecho 
BALL_MASK, si se oprime la bolita que hay debajo del rat�n (je, je, es
broma).

En f�n, esto tendr�a que funcionarte (a m� en W95 me funciona),
simplemente un apunte final:

Lo que intentas hacer t� (abrir un lindo popup men� al pulsar el bot�n
derecho del rat�n) lo implement� en un componente que desarroll� para
una aplicaci�n y me funcionaba perfectamente con el JDK 1.1.3, pero
SORPRESA SORPRESA, con el JDK 1.1.4 el mismo c�digo cuando hace el show
del popupmen�, genera una excepci�n en la VM, que me temblaban hasta las
pesta�as.

Si solventas este problemilla, y me avisas, me haras un favor

Suerte y al tajo....


-- 
  """""   |  Sergio Martinez Gonzalez    
  O   -   |  METHOD SOFTWARE             
{   .   } |  e-mail: zengui@ibernet.com
   ---  o |  www:    no tengo todavia...
Technical Details
Message-ID: <349F9074.450FC8F5@ibernet.com>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <01bd0680$48bf0260$ee026ac2@garcia-ricardo>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: 1116f3,aa4a3b558412f320
X-Google-Attributes: gid1116f3,public
From: Sergio Martinez Gonzalez <zengui@ibernet.com>
Subject: Re: PopupMenu
Date: 1997/12/23
Message-ID: <349F9074.450FC8F5@ibernet.com>
X-Deja-AN: 309590537
Content-Transfer-Encoding: 8bit
References: <01bd0680$48bf0260$ee026ac2@garcia-ricardo>
X-Priority: 3 (Normal)
Content-Type: text/plain; charset=iso-8859-1
Organization: Method Software
Mime-Version: 1.0
Newsgroups: es.comp.lenguajes.java