-1
我一直在试图创建一个音乐播放器,并且需要听一个时间滑块。所以我加入的时间幻灯片,这是我得到的错误:我的方法不抽象,不能覆盖另一种方法
我一直在试图让我的头围绕如何解决这个错误,并覆盖全业务。
任何人都可以指出我正确的方向如何解决这个错误?
我的代码:
public class graphicalController implements Initializable
{
//GUI Decleration
@FXML
public Button centreButton;
@FXML
public Button backButton;
@FXML
public Button forwardButton;
@FXML
public ToggleButton muteToggle;
@FXML
public MenuItem loadFolder;
@FXML
public Text nameText;
@FXML
public Text albumText;
@FXML
public Text timeText;
@FXML
public Text artistText;
@FXML
public Slider timeSlider;
@FXML
public Slider volumeSlider;
//Controller Decleration
String absolutePath;
SongQueue q = new SongQueue();
MediaPlayer player;
Status status;
boolean isPlaying = false;
boolean isMuted = false;
boolean isPaused = false;
private Duration duration;
/**
* The constructor. The constructor is called before the initialize()
* method.
*
* Anything in regards to CSS styling with FXML MUST be done within the initialize method.
*/
public graphicalController() {
}
/**
* Initializes the controller class. This method is automatically called
* after the fxml file has been loaded.
*/
@FXML
public void initialize(URL location, ResourceBundle resources)
{
centreButton.setStyle("-fx-background-image: url('/Resources/Play_Button.png')");
centreButton.setText("");
backButton.setStyle("-fx-background-image: url('/Resources/Back_Button.png')");
backButton.setText("");
forwardButton.setStyle("-fx-background-image: url('/Resources/Forward_Button.png')");
forwardButton.setText("");
muteToggle.setStyle("-fx-background-image: url('/Resources/ToggleSound_Button.png')");
muteToggle.setText("");
nameText.setText("");
albumText.setText("");
artistText.setText("");
volumeSlider.valueProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable,
Number oldValue, Number newValue) {
double sliderValue = newValue.intValue();
handleVolumeSlider(sliderValue);
}
});
timeSlider.valueProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable,
Number oldValue, Number newValue) {
//outputTextArea.appendText("Slider Value Changed (newValue: " + newValue.intValue() + ")\n");
}
});
timeSlider.valueProperty().addListener(new InvalidationListener() {
public void invalidated(Observable ov) {
if (timeSlider.isValueChanging()) {
// multiply duration by percentage calculated by slider position
if(duration!=null) {
player.seek(duration.multiply(timeSlider.getValue()/100.0));
}
updateValues();
}
}
});
}
public void setSongText() {
String file = q.peek().fileName;
String songName = q.peek().songName;
String albumName = q.peek().albumName;
String artistName = q.peek().artistName;
if (songName == "") {
songName = "Song name not specified in metadata.";
}
else if (albumName == "")
{
albumName = " Album name not specified in metadata.";
}
else if (artistName == "")
{
artistName = "Artist name not specified in metadata.";
}
nameText.setText(songName);
albumText.setText(albumName);
artistText.setText(artistName);
}
}
你会发现我在初始化方法的问题。
我强烈怀疑你不需要319行代码来证明你的问题。请减少到[mcve]。 –
公平点。我是在不懒惰的情况下完成的,我只是认为理解整个项目会是一个更好的选择。但是,你是对的,我可以删除一些不属于这个问题的方法。待命,我现在就做。 –