当我尝试在Java中为视频媒体播放器创建播放按钮时出现EventHandler错误

时间:2016-12-01 15:01:32

标签: javafx media eventhandler

我不明白为什么eclipse因为导入它而无法识别EventHandler。这是我的代码:         包裹申请;

import java.awt.event.ActionEvent;

import com.sun.glass.ui.Accessible.EventHandler;

import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;
import javafx.scene.media.MediaPlayer;

public class MediaBar extends HBox {


    Slider time =new Slider();

    Slider vol =new Slider();

    Button playButton=new Button("||");
    Label volume=new Label("Volume");
    MediaPlayer player;

    public MediaBar(MediaPlayer play){
        player=play;

        setAlignment(Pos.CENTER);
        setPadding(new Insets(5,10,5,10));
        vol.setPrefWidth(70);
        vol.setMin(30);
        vol.setValue(100);

        HBox.setHgrow(time,  Priority.ALWAYS);

        playButton.setPrefWidth(30);

        getChildren().add(playButton);
        getChildren().add(time);
        getChildren().add(volume);
        getChildren().add(vol);


        playButton.setOnAction(new EventHandler<ActionEvent>(){
            public void handle(ActionEvent e){
                Status status=player.getStatus();

                if(status==Status.Playing){
                    if(player.getCurrentTime().greaterThanOrEqualTo(player.getTotalDuration())){
                         player.seek(player.getStartTime());
                         player.play();
            }
                    else{
                        player.pause();
                        playerButton.setText(">");
                    }
            }
            if(status==Status.PAUSE ||status==Status.HALTED||status==Status.STOPPED){
                player.play();
                playButton.setText("||");
            }

            }

        });
    }

}

以下是错误消息:

The type Accessible.EventHandler is not generic; it cannot be parameterized with arguments <ActionEvent>

我做错了什么?

1 个答案:

答案 0 :(得分:3)

更正使用JavaFX而不是Swing / AWT的导入:

替换:

 import java.awt.event.ActionEvent;
 import com.sun.glass.ui.Accessible.EventHandler;

with:

import javafx.event.ActionEvent;
import javafx.event.EventHandler;

避免自动导入或注意您导入的内容!