Ho provato a fare delle modifiche, senza ottenere nulla, nel senso che non va proprio.
Ho aggiunto questa classe:
codice:
public class Wait {
private boolean userHavePlayed;
public Wait() {
userHavePlayed = false;
}
public synchronized void setUserHavePlayed() {
userHavePlayed = true;
notifyAll();
}
public boolean getUserHavePlayed() {
return userHavePlayed;
}
public void setFalseUserHavePlayed() {
userHavePlayed = false;
}
}
Questo è l'ascoltatore del pulsante:
codice:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class DadoListener implements ActionListener {
private Wait wait;
public DadoListener(Wait w) {
wait = w;
}
@Override
public void actionPerformed(ActionEvent e) {
wait.setUserHavePlayed();
}
}
E questo è la parte del run() importante:
codice:
while (wait.getUserHavePlayed() == false) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
wait.setFalseUserHavePlayed();
Semplicemente alla pressione del bottone non accade nulla, come il run non si sbloccasse dalla wait()..