Ciao a tutti!! Sono nuovo del forum, mi sa che dovrete avere un pò di pazienza
Sto realizzando un mini programma.. Ho un bottone con etichetta 5, semplicemente vorrei che quando viene schiacciato passi da 5 a 10 ma che ogni secondo si veda l'etichetta passare da 5 a 6, 7, 8 e così via fino a 10. Ho provato ad utilizzare sia Timer che sleep() con annesso repaint() ma non mi funziona, qualcuno può aiutarmi?? Vi posto il codice.. Grazie!!
codice:
public class Prova     {
private JButton bottone;   private JFrame f;   private JPanel p;   protected Timer t;
    
    public Prova()   {
        f= new JFrame("Prova");        p=new JPanel();        bottone= new JButton("5");
        bottone.addActionListener(new Listener());        p.add(bottone);
        t=new Timer(6000, new Listener());
        f.add(p);     f.pack(); f.setLocationRelativeTo(null);           
        f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);        f.setVisible(true);    }

    public static void main(String[] args){ Prova t=new Prova();  }

    class Listener implements ActionListener    {
        public void actionPerformed(ActionEvent e)      {
            if(bottone==e.getSource()) {
                for(int i=0; i<5;i++){
                    //t.start();
                    String a=bottone.getText();     //mi dà la stringa che all'inizio è "5"
                    int n=Integer.parseInt(a)+1;    //me la converte in intero e aggiunge 1
                    bottone.setText(""+n);           //dà al bottone la nuova etichetta
                    try{ Thread.sleep(1000); }
                    catch(Exception l){ System.out.println(l); }
                    //bottone.repaint();  }     }      }    }