[Java] far partire JProgressBar all'apertura di un JFrame

dany87

Nuovo Utente
9 Gen 2019
2
0
1
Buonasera a tutti,
mi sto scervellando per capire come poter risolvere questo mio problema:
ho un primo frame, che alla pressione di un JButton apre un secondo frame, in questo ho inserito una JProgressBar. Ho un pulsante e a questo ho associato per prova un ActionListener per poter far partire la JProgressBar, ma vorrei che all'apertura di questo secondo frame questa parta in automatico senza passare per la pressione del pulsante, ma semplicemente all'avvio deve partire la barra:
Codice:
public MyFrame2() {
        setSize (400,400);   
        setLocationRelativeTo(null);
        setTitle("Frame nel Frame");
        MyPanel panel = new MyPanel();
        this.add(panel);
    }
    class MyPanel extends JPanel{
        final static int interval = 1000;
        int i;
        Timer t;
        private JProgressBar jpb;
        public MyPanel() {
            setBackground(Color.RED);
            btn = new JButton("fai partire la progressBar!");
            jpb = new JProgressBar(0, 20);
            jpb.setValue(0);
            add(jpb);
            add(btn);
        }
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.setColor(Color.BLACK);
            String zucchero = "attendere prego, erogazione in corso";
            g.drawString(zucchero, 100,100);


            btn.addActionListener(new ActionListener() {
                public void actionPerformed (ActionEvent ae) {
                    i = 0;
                    t.start();   
                    btn.setEnabled(true);
                }
            });

            t = new Timer(interval,new ActionListener() {   
                public void actionPerformed(ActionEvent e) {
                    if(i==20) {
                        t.stop();
                        btn.setEnabled(false);
                    }
                    else
                        i++;
                    jpb.setValue(i);
                }
            });
        }
    }
}
questo è il codice del secondo frame, grazie a tutti
 
Ultima modifica di un moderatore:
@dany87
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
code.gif
quando posti del codice, oppure la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro

Cerca anche di non scrivere tutto il post in grassetto! Lo leggiamo bene anche con font normale
 

Discussioni simili