Visualizzazione dei risultati da 1 a 7 su 7

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Markus85 Visualizza il messaggio
    codice:
    	public static JPopupMenu pmenu;
    	
      .....
    
    	        PopupMenuJTable.pmenu.show(new PopupMenuJTable() , e.getX(), e.getY());
    Fa "acqua" dal punto di vista del design (campo pubblico+statico!) e fa pure "acqua" perché il giro di inizializzazione è quanto meno fumoso.
    È vero che pmenu lo assegni nel costruttore di PopupMenuJTable. Ma alla prima volta che checkPopup viene invocato, PopupMenuJTable.pmenu è ancora a null. Il compilatore fa sì che il costruttore venga comunque invocato ma ormai ha già valutato l'espressione deducendo che pmenu è null.

    Evita come la peste queste cose .....


    E inoltre aggiungo: show ha il primo parametro Component invoker: "the component in whose space the popup menu is to appear". Ma il tuo PopupMenuJTable (JPanel) non è nemmeno a video!
    Ultima modifica di andbin; 11-07-2014 a 18:10
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Credo di aver risolto...

    codice:
    public class ascoltatoreMouseJTable extends MouseAdapter{
    	
    	
    	
    	@Override
    	public void mouseClicked(MouseEvent e){
    		// TODO Auto-generated method stub
    
    
    	}
    
    
    	@Override
    	public void mouseEntered(MouseEvent e) {
    		// TODO Auto-generated method stub	
    	}
    
    
    	@Override
    	public void mouseExited(MouseEvent e) {
    		// TODO Auto-generated method stub
    		
    	}
    
    
    	@Override
    	public void mousePressed(MouseEvent e) {	
    		// TODO Auto-generated method stub
    	}
    
    
    	@Override
    	public void mouseReleased(MouseEvent e) {
    	  
    		if(e.isPopupTrigger())
    			new PopupMenuJTable();
                PopupMenuJTable.pmenu.show(InterfacciaPrincipale.Jtable , e.getX(),e.getY());     
    		
    	}
    	
    }

    codice:
    public class PopupMenuJTable extends JPanel {
    	
    	public static JPopupMenu pmenu;
    	
    	public PopupMenuJTable(){
    		
    		pmenu = new JPopupMenu();
    		JMenuItem item;
    		pmenu.add(item = new JMenuItem("Vendi Articolo..."));
    		pmenu.add(item = new JMenuItem("Vedi Caratteristiche..."));
    			
    	}
    
    
    }//POPUP MENU JTABLE

    In alternativa al campo pubblico + statico come posso fare?

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.