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

    [JAVA] Aprire Applicazione... da Applicazione

    Ciao a tutti! Premesso fin da subito che conosco Java da poco più di una settimana vi sottopongo la seguente questione:

    Posso aprire una finestra di un'altra applicazione (nel mio caso) subito dopo l'inserimento di un testo in un JTextFiled?

    L'utente dovrebbe fare così:

    A) Si apre la finestra.
    B) Immette qualcosa nel JTextField e preme Invio.
    C) Si apre una nuova finestra.

    Uso Eclipse Juno e tutto ciò è parte integrante di un progetto in cui sono presenti altre applicazioni e un controller principale che le gestisce tutte.

    Sostanzialmente io ho un file A.java (contenente un JFrame) con il suo JTextField, nel suo keyListener c'è già scritto cosa deve fare se premo invio (un println giusto per vedere se entrava). Se io premo invio mi dovrebbe creare/aprire una nuova finestra riconducibile a B.java. Vi metto un pezzettino di codice appartenente a A.java

    codice:
    .
    .
    .if (key == KeyEvent.VK_ENTER) { 
          System.out.println("Hai premuto Invio!"); 
    }
    Avevo provato a creare un oggetto Finestra appartenente a B, ma ovviamente non lo crea, dato che A non eredita da B, ma bensì dal Controller. Controller e A vengono poi richiamati in RunA.java che fa da Main per entrambi.

    Qualcuno può darmi una mano? Spero di essere stato chiaro.

  2. #2
    non capisco dov'è il problema....
    codice:
    .if (key == KeyEvent.VK_ENTER) { 
          openWindow();
    }
    
    //fuori dal listener 
    private void openWindow(){
        B finestra= new B();
    }
    Così non funziona?
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  3. #3
    Grazie schumy2000, ma ho risolto grazie ad uno specialista: nella B non avevo creato un JTextField, mentre lo avevo settato come se ci fosse. Ergo è bastato un "JTextField NuovoTextField=new JTextField" in B.java e viaggia. posto comunque il pezzettino di codice corretto:

    codice:
    if (key == KeyEvent.VK_ENTER) {
        System.out.println("Hai premuto Invio!"); //giusto per un mio check
        B nuovoB=new B();    //creo un oggetto da una classe B
        nuovoB.frame.setVisible(true); //e lo mostro
    }
    Detto questo il tread può essere chiuso, ho risolto. Se un moderatore lo ritiene utile posso pubblicare il sorgente, ma è molto lungo e dispersivo, oltre a essere composto da almeno 3 file diversi.

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.