package sbu.javafx; import javafx.fxml.FXML; import javafx.scene.control.*; import javax.print.attribute.standard.Media; import java.nio.MappedByteBuffer; public class TrackController { // TODO: Define your UI components using the @FXML annotation. @FXML private Label displayTrackName; @FXML private Label displayArtistName; @FXML private Label displayDuration; @FXML private Button playButton; @FXML private Button addButton; private Track currentTrack; private static Track playingTrack = new Track("___", "___", "00:00", ""); public void setTrack(Track track) { this.currentTrack = track; this.displayTrackName.textProperty().bind(track.getTrackNameProperty()); this.displayArtistName.textProperty().bind(track.getArtistNameProperty()); this.displayDuration.textProperty().bind(track.getDurationProperty()); this.playButton.textProperty().bind(track.getPlayButton()); this.addButton.textProperty().bind(track.getAddButton()); } @FXML public void initialize() { // } //TODO: Implement the logic to play a song. This method should update the UI to show which song is currently playing. @FXML public void handlePlayAction() { //Update labels, change button icons, etc. //changing playingTrack if (playingTrack.getTrackName().equals(currentTrack.getTrackName()) && playingTrack.getArtistName().equals(currentTrack.getArtistName())) { playingTrack = new Track("___", "___", "00:00", ""); } else { playingTrack = currentTrack; } //parsing playingTrack to AppController AppController.setPlayingTrack(playingTrack); } //TODO: Logic to add a specific song to the user's playlist. @FXML public void addToPlaylist() { //Add the song to a list or update a ListView. AppController.addOrRemove(currentTrack); } }