vorrei mettere uno splashscreen prima di caricare la finestra della mia applicazione...cosa devo usare?
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.Originariamente inviato da Metflar
vorrei mettere uno splashscreen prima di caricare la finestra della mia applicazione...cosa devo usare?
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
ho provato con quella classe ma nn ho capito bene cm si usa...mi puoi fare un esempio?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.
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.Originariamente inviato da Metflar
ho provato con quella classe ma nn ho capito bene cm si usa...mi puoi fare un esempio?
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
c'è un modo per modificare il manifest direttamente da netbeans?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.
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.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![]()
![]()
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
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
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.Originariamente inviato da magix2003
La classe SplashScreen implementa una barra di avanzamento?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet