小编Wan*_*gat的帖子

IllegalThreadStateException?不熟悉线程

我有一个工作的java程序,一个简单的MP3播放器.

一切正常,可以跳过轨道等...但经过几次跳过(尤其是后退按钮(上一首曲目),我总是得到一个IllegalThreadStateException.我不熟悉线程,所以我不知道该怎么做.

这是一个学校作业,MP3课程已经给我们.(不能修改)

任何提示将非常感谢!谢谢!

MP3类(不能修改):

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import javazoom.jl.player.Player;


public class MP3 extends Thread {
  private final File mp3_file;
  private Player player; 

  public MP3(String mp3_path) {
    mp3_file = new File(mp3_path);
}

  public MP3(File mp3) {
    mp3_file = mp3;
}

    public void play() {
    try {
        FileInputStream fis     = new FileInputStream(mp3_file);
        BufferedInputStream bis = new BufferedInputStream(fis);
        player = new Player(bis);
    }
    catch (Exception e) {
        System.out.println("Problem playing file " + mp3_file);
        System.out.println(e);
    }

    // run …
Run Code Online (Sandbox Code Playgroud)

java swing multithreading exception

3
推荐指数
1
解决办法
5305
查看次数

KeyAdapter侦听器适用于Windows,而不适用于Mac

我创建了一个简单的Nibbles(Snakes)游戏,一切都很完美.

但是,当我将所有内容复制到我的mac(在PC上开发)并编译相同的java文件时,用于移动我的蛇的keyAdapter事件监听器没有响应.

我不确定是什么问题.

这是片段,但如果有人愿意看一下整个节目,我可以私下发送.谢谢!

getThis().addKeyListener(new KeyAdapter()  {
        public void keyPressed(KeyEvent event) {                    
            if(event.getKeyCode() == KeyEvent.VK_UP)
                if(!glass.game.getDirection().equals("D"))
                    glass.game.setDirection("U");

            if(event.getKeyCode() == KeyEvent.VK_DOWN)
                if(!glass.game.getDirection().equals("U"))
                    glass.game.setDirection("D");

            if(event.getKeyCode() == KeyEvent.VK_LEFT)
                if(!glass.game.getDirection().equals("R"))
                    glass.game.setDirection("L");

            if(event.getKeyCode() == KeyEvent.VK_RIGHT)
                if(!glass.game.getDirection().equals("L"))
                    glass.game.setDirection("R");
          }
});   
Run Code Online (Sandbox Code Playgroud)

java windows macos swing keylistener

1
推荐指数
1
解决办法
1549
查看次数

标签 统计

java ×2

swing ×2

exception ×1

keylistener ×1

macos ×1

multithreading ×1

windows ×1