Methods Summary |
---|
public void | newCharacter(CharacterEvent ce)
scoreLock.lock();
try {
if (ce.source == generator) {
if (char2type != -1) {
score--;
setScore();
counter.incorrectChar(char2type);
}
char2type = ce.character;
}
else {
if (char2type != ce.character) {
score--;
counter.incorrectChar(ce.character);
} else {
score++;
counter.correctChar(ce.character);
char2type = -1;
}
}
setScore();
} finally {
scoreLock.unlock();
}
|
public void | resetGenerator(CharacterSource newGenerator)
try {
scoreLock.lock();
if (generator != null)
generator.removeCharacterListener(this);
generator = newGenerator;
if (generator != null)
generator.addCharacterListener(this);
} finally {
scoreLock.unlock();
}
|
public void | resetScore()
try {
scoreLock.lock();
score = 0;
char2type = -1;
setScore();
} finally {
scoreLock.unlock();
}
|
public void | resetTypist(CharacterSource newTypist)
try {
scoreLock.lock();
if (typist != null)
typist.removeCharacterListener(this);
typist = newTypist;
if (typist != null)
typist.addCharacterListener(this);
} finally {
scoreLock.unlock();
}
|
private void | setScore()
SwingUtilities.invokeLater(new Runnable() {
public void run() {
setText(Integer.toString(score));
}
});
|