Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Metodo setVisible() ????

    Allora ragazzi il mio problema è: ho una classe che si kiama Pannello all'interno della quale c'e una classe Cambia_Tavolo all'interno della quale c'e un'altra classe Conferma..ora quando clicco sul pulsante ok della classe Conferma come faccio per far scomparire anche il frame Pannello??????
    Ho provato cn setVisible(false) ma nn funziona nn scompare!


    codice:
    public class Pannello extends JFrame implements ActionListener,Serializable,MouseListener{
    
    ***
    ***
    ***
    ***
    ***
    class Cambia_tav extends JFrame implements ActionListener{
    
    ***
    ***
    public void actionPerformed(ActionEvent e) 
    if(e.getSource()==reset){
    this.setVisible(false);
    		}
    							
    							
    class Conferma extends JFrame implements ActionListener{
    
    ***
    ***
    ***
    
    public void actionPerformed(ActionEvent e) {
    if(e.getSource()==ok){
    try{
    ser.annulla_Tav(numV);
    numN=Integer.parseInt(nums);
    num=numN;
    										
    						
    										ser.memorizzaOrdine(text2.getText(),nome,totale,num);
    this.setVisible(false);
    setVisible(false);       //QUESTO DOVREBBE RIFERIRSI ALLA CLASSE PANNELLO MA NN FUNZIONA(nn scompare)
    										
    HomeProprietario f=new HomeProprietario(nome);
    f.setVisible(true);
    										
    	}
    catch(Exception eee){eee.printStackTrace();}
    								
    }
    	
    //JButton ok della classe Cambia_Tavolo							
    if(e.getSource()==ok){
    			Conferma c=new Conferma();
    			c.setVisible(true);
    			this.setVisible(false);
    			}
    							
    		}
    }

    Spero ke si capisce il codice cmq il problema è ke dà Conferma devo far scomparire Pannello....si può fare????se si cm????

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

    Re: Metodo setVisible() ????

    Originariamente inviato da nadiiia86
    setVisible(false); //QUESTO DOVREBBE RIFERIRSI ALLA CLASSE PANNELLO MA NN FUNZIONA(nn scompare)
    Il codice non è il massimo della chiarezza. Comunque si capisce (da quanto dici e dal codice) che Conferma è una "inner class".

    Quindi this.setVisible(false) si riferisce ovviamente alla istanza di Conferma e solo setVisible(false) .... pure si riferisce a Conferma.
    Non è il this o non this che permette di referenziare la inner class o la classe "contenitore"!!

    Se vuoi davvero usare il this della classe contenitore (Pannello), allora devi fare:

    Pannello.this.setVisible(false)

    Si chiama "qualified this".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazieeeeeeeeeeeeeee andbin...grazie 1000 ....era da tre ore ke ci stavo sopra...nn lo sapevo ke si doveva fare cosi....cmq 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.