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(); } } } }

Vi posto il codice.. Grazie!!
Rispondi quotando