Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435

    Click destro del mouse su JTextField

    Ciao, come faccio ad abilitare il click destro del mouse su un JTextField?
    Mi interesserebbe poter fare copia-incolla e quindi mi occorre il menu contestuale del tasto dx su questo controllo.
    (so benissimo che posso usare ctrl+v ma siccome devo distribuire questo programma preferirei avere anche il canonico tasto dx)

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Click destro del mouse su JTextField

    Originariamente inviato da Dark867
    Ciao, come faccio ad abilitare il click destro del mouse su un JTextField?
    Mi interesserebbe poter fare copia-incolla e quindi mi occorre il menu contestuale del tasto dx su questo controllo.
    (so benissimo che posso usare ctrl+v ma siccome devo distribuire questo programma preferirei avere anche il canonico tasto dx)
    Da Java 5 è relativamente facile gestire un menù di "contesto" per un componente.
    Infatti in JComponent (quindi ce l'hanno tutti i componenti Swing) sono stati introdotti i metodi:

    public void setComponentPopupMenu(JPopupMenu popup)
    public JPopupMenu getComponentPopupMenu()

    Quindi ti basta creare il JPopupMenu e passarlo al primo metodo indicato. Ci pensa la UI del componente a registrare quello che è necessario per gestire e attivare il menù di contesto (insomma, non devi preoccuparti tu di questo).
    Quale è la azione che l'utente deve compiere per visualizzare il menù contestuale, dipende dal Look & Feel corrente, quindi qualunque metodo sia è coerente con la filosofia del L&F stesso.


    Per versioni pre-Java 5 (o comunque se uno volesse seguire la strada "fai-da-te"), bisogna lavorare un pochino più a basso livello, registrando un MouseListener, poi al click verificare che il pulsante premuto sia quello "destro" (nota: esiste isRightMouseButton(MouseEvent) di SwingUtilities) e poi visualizzare il menù di popup.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Ottimo grazie!
    Prima che inizio a creare un menu ad hoc sfruttando la clipboard del default toolkit sai per caso se esiste una specie di JPopupMenu di default che fa comparire quello che compare quando si preme normalmente il tasto destro all'interno del so?O,anche meglio, la canonica triade taglia/copia/incolla?

  4. #4
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Vabbè che ci fosse o meno ho risolto: alla fine ho visto ke è molto semplice creare un menu e gestirlo e siccome mi interessa solo l'incolla penso vada bene così, con una sola voce.
    Grazie ancora!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.