Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    JPopupMenu su JTable

    Vorrei aggiungere un menu di popup ad una JTable ma non ci riesco (o meglio, ci riesco ma c'e' qualcosa che non va).

    Il codice e' questo:


    Codice PHP:
            table.add(popup);
            
    table.addMouseListener(new MouseAdapter()
            {
                public 
    void mouseClicked(MouseEvent e)
                {
                    if (
    SwingUtilities.isRightMouseButton(e))
                    {
                        
    popup.setLocation(e.getX(), e.getY());                    
                        
    popup.setVisible(true);
                    }
                }
            }); 
    Il primo problema e' che il menu non appare dove vorrei ma da tutt'altra parte (a quanto pare le coordiante ottenute con getXY sono relative alla tabella e non allo schermo in generale). Come posso farlo apparire dove voglio?

    Altra domanda: col click destro sulla JTable vorrei selezionare la riga sottostante ed ottenere quello che contiene, come faccio. Vorrei almeno scoprire che riga e'!

    Grazie
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Ho risolto parzialmente cosi':

    Codice PHP:
            table.addMouseListener(new MouseAdapter()
            {
                public 
    void mouseClicked(MouseEvent e)
                {
                    if (
    SwingUtilities.isRightMouseButton(e))
                    {
                        
    JTable t = (JTablee.getSource();

                        
    int row t.rowAtPoint(e.getPoint());

                        
    t.requestFocusInWindow();
                        
    t.changeSelection(row0falsefalse);

                        
    popup.setVisible(true);
                    }
                }
            }); 


    Resta il problema della posizione
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    In genere non si usa setVisible() con i JPopupMenu, ma il metodo show(), che ha la sguente firma:
    codice:
    public void show(Component invoker, int x, int y);
    
    invoker: Il componente in cui visualizzare il menu
    x, y: le coordinate in cui far comparire il menu (relative all'invoker)
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da LeleFT
    In genere non si usa setVisible() con i JPopupMenu, ma il metodo show(), che ha la sguente firma:
    codice:
    public void show(Component invoker, int x, int y);
    
    invoker: Il componente in cui visualizzare il menu
    x, y: le coordinate in cui far comparire il menu (relative all'invoker)
    Ciao.
    :-O

    NetBeans me lo segnava deprecato :| Invece si riferiva agli altri 2 show :|

    Grazie, scusate il disturbo ^^'
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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.