Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    [JAVA] chiudere una finestra

    ciao ragazzi quele è la classe per chiudere una finestra con la x ma prima chiedere una conferma o ancora meglio invocare un metodo che controlla alcune cose dopo di che domanda se chiudere o no?
    per ora ho forzato questo
    frame.setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE );
    poi?
    ciao ale
    www.xplacecompany.com - siti web - software - networking - VOIP

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    devi implementare l'interfaccia WindowListener e il metodo windowClosing

  3. #3
    x esempio?
    dove lo devo implementare?
    www.xplacecompany.com - siti web - software - networking - VOIP

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    codice:
    import javax.swing.*;
    import java.awt.event.*;
    
    public class detectClosing extends JFrame implements WindowListener {
      
      public void windowActivated (WindowEvent we) {
        
      }
      
      public void windowClosed (WindowEvent we) {
        
      }
      
      public void windowClosing (WindowEvent we) {
       int i = JOptionPane.showConfirmDialog(this, "Vuoi uscire?", "Exit Panel", JOptionPane.YES_NO_OPTION);
       if (i==0) {
         System.exit(0);
       }
      }
      
      public void windowDeactivated (WindowEvent we) {
        
      }
      
      public void windowDeiconified (WindowEvent we) {
        
      }
      
      public void windowIconified (WindowEvent we) {
        
      }
      
      public void windowOpened (WindowEvent we) {
        
      }
      public detectClosing() {
        super("Prova a chiudermi");
        this.setSize(400, 300);
        this.setVisible(true);
        this.addWindowListener(this);
        this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
      }
      
      public static void main (String[] arg) {
        detectClosing dc = new detectClosing();
      }
    }
    Pasqua tutto l'anno
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    ma un modo più semplice non c'è?
    io devo controllare questo evento da un'altra classe che poi implemtento in quella con il main.
    Come posso fare?
    www.xplacecompany.com - siti web - software - networking - VOIP

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    più semplice?!!?!?! :master:

    Più semplice di una riga di codice come quella non credo ci sia niente... e poi se la finestra che non vuoi far chiudere direttamente con la X non implementa WindowListener, non c'è modo di fermarne la chiusura.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    mi da questo errore singh.......................

    codice:
    tavolo.detectClosing is not abstract and does not override abstract method windowDeactivated(java.awt.event.WindowEvent) in java.awt.event.WindowListener
    www.xplacecompany.com - siti web - software - networking - VOIP

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    devi dichiarare e implementare tutti i metodi se implementi una interfaccia... non importa se come nel mio esempio li lasci tutti vuoti, però le dichiarazioni ci devono essere... altrimenti devi dichiarare la classe astratta
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  9. #9
    uffa..........


    ora mi da questo
    codice:
    Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
    	at java.awt.Container.addImpl(Container.java:1008)
    	at java.awt.Container.add(Container.java:349)
    	at tavolo.<init>(tavolo.java:37)
    	at forza4.main(forza4.java:10)
    Process java exited with code 1
    www.xplacecompany.com - siti web - software - networking - VOIP

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ok, posta il codice per intero.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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 © 2024 vBulletin Solutions, Inc. All rights reserved.