Я хочу отобразить текст перед выполнением функции mediaPlayer(). Во время выполнения медиапланера я сплю нитку. Это нормально, потому что тогда ничего не должно произойти (тогда просто нужно слушать).Сон нить java, но сначала обновить jFrame
Однако последний текст: «Слушать ...» не отображается (за исключением нескольких секунд задержки). Есть ли способ очистить jFrame перед тем, как нить заснет?
expText.setText("Listen to the song and give a rating when it finishes.");
startButton.setEnabled(false);
//play sound
try {
mediaPlayer();
//wait for the duration of the stimuli
Thread.sleep(stimDuration);
...
Да: никогда не выполняйте длительные операции с потоком пользовательского интерфейса. Вызовите 'mediaPlayer' в фоновом потоке или перепишите его как асинхронный. –
Вы не хотите обертывать SwingWorker в таймер, это просто ... странно. Просто используйте SwingWorker для воспроизведения звука. Взгляните на [этот пример] (http://stackoverflow.com/questions/24274997/java-wav-player-adding-pause-and-continue/24275168#24275168) – MadProgrammer
Что значит MediaPlayer и dhow? Какова цель задержки? – MadProgrammer