Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    40

    Dubbio SplashScreen: far sparire progressbar lasciando il resto

    Salve ho creato uno splashScreen con un'immagine di sfondo e la JprogressBar,alla fine del caricamento vorei che rimanesse lo sfondo,apparissero dei JButton e la progressBar non fosse più visibile,è possibile tutto ciò?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    @shaun87: ho corretto il titolo della discussione, visto che "Dubbio" non dice nulla del contenuto vero e proprio della stessa.
    In futuro, usa titoli più significativi.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da shaun87 Visualizza il messaggio
    Salve ho creato uno splashScreen con un'immagine di sfondo e la JprogressBar,alla fine del caricamento vorei che rimanesse lo sfondo,apparissero dei JButton e la progressBar non fosse più visibile,è possibile tutto ciò?
    E come si fa a rispondere se non spieghi bene e meglio come hai fatto il tutto? Con cosa hai fatto lo splash screen? Con JWindow? Come hai inserito JProgressBar? Hai usato un layout manager? O posizionamento assoluto?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    40
    La classe estende jwindow la jprogress lo messa con setBounds in un pannello con cardlayout in base alle coordinate

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    40
    nessuno?
    comunque questo è il codice con il quale ho creato lo splashScreen

    codice:
    public class SplashScreen extends JWindow {
        private static final String path = "Tetris_Attack.png";
        private ImageIcon icon; 
        private JLabel image;
        private JLabel titleLbl; 
        private JPanel panel;
        private static JProgressBar prog;
        
        
        public SplashScreen(){
            this.setSize(506,516);
            this.setLocation(400, 150);
            this.setAlwaysOnTop(true);
            this.getContentPane().setLayout(new CardLayout(0, 0));
            this.getContentPane().add(this.initView());
            this.setVisible(true);
        }
        
        private Component initView() {//create a panel with component
            panel = new JPanel();
            panel.setLayout(null);
            icon =  new ImageIcon(tetrisAttack.Application.class.getResource(path));
            prog =  new JProgressBar();
            titleLbl = new JLabel(new ImageIcon(tetrisAttack.Application.class.getResource("text.gif")));
            prog.setStringPainted(true);
            prog.setForeground(SystemColor.controlShadow);
            prog.setBounds(0, 486, this.getWidth(), 25);//set the progBar bounds(x,y,width,height)
            panel.add(prog);
            titleLbl.setBounds(6, 9, 506,87);
            image = new JLabel(icon); 
            image.setLocation(0, 0);//set the location to background image
            image.setSize(506,491);//set the label dimension
            panel.add(titleLbl);
            panel.add(image);
            return panel;
        }
    
        /**
         * This method simulates the completion of the
         * loading JBar
         */
        public void refresh(){
            for(int i=0;i<=100;i++){
                try {
                    prog.setValue(i);
                    Thread.sleep(50);
                } catch (Exception e) {
                }
            }
            dispose();
        }    
        
    }
    Ultima modifica di LeleFT; 21-03-2014 a 12:57 Motivo: Aggiunti i tag CODE

  6. #6
    metti il codice tra i tag code
    [code]
    codice bla bla
    [/code]
    altrimenti non si capisce nulla
    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

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2014
    Messaggi
    40
    nessuno?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da shaun87 Visualizza il messaggio
    comunque questo è il codice con il quale ho creato lo splashScreen
    nessuno?
    Allora, ascolta, io dal tuo codice vedo una cosa: in initView() crei il JProgressBar e lo posizioni/dimensioni in modo "assoluto", visto che il JPanel che lo contiene non ha layout manager. La cosa più immediata che puoi fare è inserire subito anche il/i JButton che ti servono, posizionati/dimensionati come vuoi ma inizialmente nascosti.
    Quando non ti serve più la progress bar, la nascondi e rendi invece visibili il/i pulsanti che ti servono. Tutto qui, basta "giocare" sulla visibilità dei componenti, è il minimo che si può fare con quel design della interfaccia che hai fatto.
    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.