Ciao a tutti, sono alle prese con un programmino in java, più precisamente con una simuazione del classico gioco memory. Detta un pò brevemente.. ho costruito una serie di pulsanti con un metodo personalizzato che ho chiamato makeButton e attraverso l'utilizzo di una classe anonima gli ho collegato l'evento. Poi ho costruito un timer che dovrebbe partire dal momento in cui si clicca la prima volta su un pulsante. Il mio problema è: in che punto devo inserire il metodo timer.start(); per farlo partire???? io ho provato in diversi modi ma anche se non mi da errori in compilazione non funziona. Sarei felicissimo di ricevere qualche indicazione. Il codice è:
class MyPanel extends JPanel
{
public MyPanel()
{
setLayout(new BorderLayout());
JLabel label1 = new JLabel(\"Time:\");
JLabel label2 = new JLabel(\"0\");
panel = new JPanel();
panel.add(label1);
panel.add(label2);
add(panel, BorderLayout.NORTH);
panel = new JPanel();
panel.setLayout(new GridLayout(5,6,3,3));
makeButton(new ImageIcon(\"bg.gif\"),new ImageIcon(\"c1.gif\"));
..
..
add(panel, BorderLayout.CENTER);
}
void makeButton(ImageIcon icon, final ImageIcon iconcard)
{
timer.start();
final JButton button = new JButton(icon);
panel.add(button);
button.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
button.setIcon(iconcard);
}
});
}
class MyTimer extends Thread {
int c = 0;
public void run()
{
while(true)
{
try {
sleep(5000);
label2.setText(\" \" +c);
++c;
}
catch(Exception eccezione)
{
eccezione.printStackTrace();
}
}
}
}
MyTimer timer = new MyTimer();
private JLabel label2;
private JPanel panel;
}