Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790

    usare splashscreen[java]

    vorrei mettere uno splashscreen prima di caricare la finestra della mia applicazione...cosa devo usare?

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

    Re: usare splashscreen[java]

    Originariamente inviato da Metflar
    vorrei mettere uno splashscreen prima di caricare la finestra della mia applicazione...cosa devo usare?
    Dipende ... a partire da Java 6 vedi java.awt.SplashScreen.
    In qualunque caso, puoi farlo tu con una semplice JWindow in cui magari metti una JLabel e temporizzi il tutto con un timer. Nulla di impossibile ma c'è da scrivere qualche decina di righe di codice ... a meno che trovi qualcosa di già fatto, ovviamente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790

    Re: Re: usare splashscreen[java]

    Originariamente inviato da andbin
    Dipende ... a partire da Java 6 vedi java.awt.SplashScreen.
    In qualunque caso, puoi farlo tu con una semplice JWindow in cui magari metti una JLabel e temporizzi il tutto con un timer. Nulla di impossibile ma c'è da scrivere qualche decina di righe di codice ... a meno che trovi qualcosa di già fatto, ovviamente.
    ho provato con quella classe ma nn ho capito bene cm si usa...mi puoi fare un esempio?

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

    Re: Re: Re: usare splashscreen[java]

    Originariamente inviato da Metflar
    ho provato con quella classe ma nn ho capito bene cm si usa...mi puoi fare un esempio?
    La documentazione di java.awt.SplashScreen dice chiaramente che non può essere istanziata e puoi ottenere un riferimento solo con getSplashScreen() ma ti serve solo eventualmente per modificare/chiudere lo splash già caricato.

    Per farla breve: la classe non la puoi usare per "creare" da zero lo splash ... puoi crearlo solo attraverso il manifest o l'opzione -splash e modificarlo come ho detto sopra.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790

    Re: Re: Re: Re: usare splashscreen[java]

    Originariamente inviato da andbin
    La documentazione di java.awt.SplashScreen dice chiaramente che non può essere istanziata e puoi ottenere un riferimento solo con getSplashScreen() ma ti serve solo eventualmente per modificare/chiudere lo splash già caricato.

    Per farla breve: la classe non la puoi usare per "creare" da zero lo splash ... puoi crearlo solo attraverso il manifest o l'opzione -splash e modificarlo come ho detto sopra.
    c'è un modo per modificare il manifest direttamente da netbeans?

  6. #6
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    ho lasciato perde la classe spashscreen e ho usato un JWindow...ma come lo metto in pausa? ho provato con Thread.sleep(5000) ma si vede solo la forma e nn mi carica l'immagine

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Metflar
    ho lasciato perde la classe spashscreen e ho usato un JWindow...ma come lo metto in pausa? ho provato con Thread.sleep(5000) ma si vede solo la forma e nn mi carica l'immagine
    Appena ho un attimo, posto un esempio.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Questo potrebbe un esempio di splash screen:

    codice:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    public class ImageSplashScreen
    {
        private JWindow window;
        private Timer timer;
    
        public ImageSplashScreen (Window owner, ImageIcon imgIcon, int seconds, boolean closeable)
        {
            window = new JWindow (owner);
    
            Container contentPane = window.getContentPane ();
    
            JLabel imageLabel = new JLabel (imgIcon);
    
            Dimension screenSize = Toolkit.getDefaultToolkit ().getScreenSize ();
            Dimension labelSize = imageLabel.getPreferredSize ();
    
            contentPane.add (imageLabel, BorderLayout.CENTER);
    
            window.setBounds ((screenSize.width - labelSize.width) / 2,
                              (screenSize.height - labelSize.height) / 2,
                              labelSize.width, labelSize.height);
    
            if (closeable)
            {
                window.addMouseListener (new MouseAdapter () {
                    public void mousePressed (MouseEvent e) {
                        close ();
                    }
                });
            }
    
            timer = new Timer (seconds * 1000, new ActionListener () {
                public void actionPerformed (ActionEvent e) {
                    close ();
                }
            });
    
            timer.setRepeats (false);
            timer.start ();
            window.setVisible (true);
        }
    
        private void close ()
        {
            timer.stop ();
            window.setVisible (false);
            window.dispose ();
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Ciao,
    mi aggiungo al thread

    La classe SplashScreen implementa una barra di avanzamento? Se si, si possono modificare le scritte della barra?

    Per intenderci vorrei creare qualcosa di carino, come lo splash screen di NetBeans.

    Thanks,

    Giorgio
    Linux user number 395693| Acer TravelMate 4672WMLI powered by GNU/Linux Ubuntu 7.10

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da magix2003
    La classe SplashScreen implementa una barra di avanzamento?
    Dire proprio di no ... basta anche solo vedere la documentazione di SplashScreen. Però puoi ottenere un Graphics2D per disegnare sopra lo splash screen. Quindi puoi disegnare tu una barra che indica il progresso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.