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

    Applicazione Awt-Swing SENZA CONSOLE

    Ciao a tutti.

    Ho finito un'applicazione Java che ha una grafica, finestre, pulsanti e bottoni.

    Ora vorrei che si potesse eseguire con il classico doppio click e perciò ho creato un exe che esegue il comando
    java -jar miaApp.jar


    Come mai mi rimane LA CONSOLE?? Io non voglio che i clienti la vedano, è una cosa che spaventa! Se invece faccio il doppio click sul Jar parte senza la console
    (ma solo perché nel mio sistema operativo ho associato i file jar alla JavaVirtualMachine, non tutti fanno così).

    Esiste un comando particolare per eseguire applicazioni Awt e Swing senza che venga visualizzata la console??
    :master:
    Il cinghiale è un animale raffinato

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    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
    Ehm... mi puoi spiegare come si usa??

    Nella schermata "SKELETON" ho scelto "Windowed Wrapper"
    In "EXECUTABLE" ho compilato tutti i campi correttamente
    In "APPLICATION" ho allegato il mio jar embedded
    In "JVM SELECTION" ho messo minimum 1.5.0 e niente maximum
    Non ho toccato l'ultima sezione

    Risultato:
    Se metto l'icona all'exe mi dice "errore: null"
    Se non la metto mi fa un exe che se eseguito non fa niente

    Il cinghiale è un animale raffinato

  4. #4
    TROVATO LA SOLUZIONE

    Dopo ore di ricerca ho scoperto che esiste il comando
    codice:
    javaw -jar nome.jar
    che fa proprio al caso mio: identico al comando java ma senza la console I/O!


    Il programma per farlo funzionare è il seguente:
    codice:
    #include <windows.h>
    
    int main() {
        WinExec("javaw -jar nomeApp.jar", SW_SHOWNORMAL);
        return 0;
    }
    Non usate la funzione system() perché nonostante javaw vi tiene aperta una console.

    Ciao a tutti
    Il cinghiale è un animale raffinato

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da SimoVinci
    TROVATO LA SOLUZIONE

    Dopo ore di ricerca ho scoperto che esiste il comando
    codice:
    javaw -jar nome.jar
    Bastava leggere la documentazione
    http://java.sun.com/javase/6/docs/te...dows/java.html

    Originariamente inviato da SimoVinci
    Non usate la funzione system() perché nonostante javaw vi tiene aperta una console.
    system() invoca l'interprete dei comandi, CMD.EXE o COMMAND.EXE (a seconda del S.O. Win) che chiaramente ha la console.

    WinExec() è "old". Meglio CreateProcess() (ma è più lungo/noioso) oppure ShellExecute().
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Originariamente inviato da andbin
    Bastava leggere la documentazione
    http://java.sun.com/javase/6/docs/te...dows/java.html

    system() invoca l'interprete dei comandi, CMD.EXE o COMMAND.EXE (a seconda del S.O. Win) che chiaramente ha la console.

    WinExec() è "old". Meglio CreateProcess() (ma è più lungo/noioso) oppure ShellExecute().

    Grazie!
    Ho passato una mezz'oretta per trovare la documentazione di CreateProcess() e ShellExecute() ... ma sarò imbranato, niente da fare!
    Ti va di scrivermi un po' cosa fanno i parametri e magari farmi un esempio di invocazione di javaw? :rollo:

    Grazie ancora.
    Il cinghiale è un animale raffinato

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