Search in sources :

Example 86 with ImageView

use of javafx.scene.image.ImageView in project Java_Project_PMD by Atractive.

the class ControlerMDI method InjectImages.

private void InjectImages() {
    TilePaneGalerie.setPadding(new Insets(15, 15, 15, 15));
    TilePaneGalerie.setHgap(15);
    File folder = new File("Images");
    File[] listOfFiles = folder.listFiles();
    for (final File file : listOfFiles) {
        ImageView imageView;
        System.out.println(file.toString());
        imageView = createImageView(file.toString());
        TilePaneGalerie.getChildren().addAll(imageView);
    }
    // 
    ScrollPaneGalerie.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    // 
    ScrollPaneGalerie.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
    ScrollPaneGalerie.setFitToWidth(true);
    ScrollPaneGalerie.setContent(TilePaneGalerie);
}
Also used : Insets(javafx.geometry.Insets) ImageView(javafx.scene.image.ImageView) File(java.io.File)

Example 87 with ImageView

use of javafx.scene.image.ImageView in project FXyzLib by Birdasaur.

the class Skybox method loadSingleImageViewports.

/**
 * this will layout the viewports to this style pattern
 *              ____
 *             |top |
 *         ____|____|____ ____
 *        |left|fwd |rght|back|
 *        |____|____|____|____|
 *             |bot |
 *             |____|
 */
private void loadSingleImageViewports() {
    layoutViews();
    double width = singleImg.getWidth(), height = singleImg.getHeight();
    // simple chack to see if cells will be square
    if (width / 4 != height / 3) {
        throw new UnsupportedOperationException("Image does not comply with size constraints");
    }
    double cellSize = singleImg.getWidth() - singleImg.getHeight();
    recalculateSize(cellSize);
    double topx = cellSize, topy = 0, botx = cellSize, boty = cellSize * 2, leftx = 0, lefty = cellSize, rightx = cellSize * 2, righty = cellSize, fwdx = cellSize, fwdy = cellSize, backx = cellSize * 3, backy = cellSize;
    // add top padding x+, y+, width-, height
    top.setViewport(new Rectangle2D(topx, topy, cellSize, cellSize));
    // add left padding x, y+, width, height-
    left.setViewport(new Rectangle2D(leftx, lefty, cellSize - 1, cellSize - 1));
    // add front padding x+, y+, width-, height
    back.setViewport(new Rectangle2D(fwdx, fwdy, cellSize, cellSize));
    // add right padding x, y+, width, height-
    right.setViewport(new Rectangle2D(rightx, righty, cellSize, cellSize));
    // add back padding x, y+, width, height-
    front.setViewport(new Rectangle2D(backx + 1, backy - 1, cellSize - 1, cellSize - 1));
    // add bottom padding x+, y, width-, height-
    bottom.setViewport(new Rectangle2D(botx, boty, cellSize, cellSize));
    for (ImageView v : views) {
        v.setImage(singleImg);
    // System.out.println(v.getId() + v.getViewport() + cellSize);
    }
}
Also used : Rectangle2D(javafx.geometry.Rectangle2D) ImageView(javafx.scene.image.ImageView)

Example 88 with ImageView

use of javafx.scene.image.ImageView in project Media-Library by The-Rain-Goddess.

the class ApplicationWindow method setupMediaPlayer.

// private Media Player accessors / mutators
private HBox setupMediaPlayer() {
    HBox mediaSlot = new HBox();
    VBox timeControls = new VBox();
    VBox timeBox = new VBox();
    HBox mediaControlBox = new HBox();
    HBox searchBox = new HBox();
    HBox fadeBox = new HBox(5);
    VBox volumeControls = new VBox(10);
    if (Main.getMasterDataAsList().size() != 0) {
        Path path = Paths.get(Main.getMasterDataAsList().get(0).getLibraryFilePath());
        Media media = new Media(path.toFile().toURI().toString());
        player = new MediaPlayer(media);
    } else {
        player = new MediaPlayer(new Media(Paths.get("C:\\Music\\init.mp3").toFile().toURI().toString()));
    }
    // player.setAutoPlay(true);
    MediaView mediaView = new MediaView();
    mediaView.setMediaPlayer(player);
    Image PlayButtonImage = new Image("com/negativevr/media_library/res/play.png");
    Image PauseButtonImage = new Image("com/negativevr/media_library/res/pause.png");
    ImageView imageViewPlay = new ImageView(PlayButtonImage);
    ImageView imageViewPause = new ImageView(PauseButtonImage);
    play = new Button();
    play.setGraphic(imageViewPlay);
    play.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent e) {
            updateValues();
            Status status = player.getStatus();
            if (status == Status.PAUSED || status == Status.READY || status == Status.UNKNOWN || status == Status.STOPPED) {
                player.play();
                play.setGraphic(imageViewPause);
            } else {
                player.pause();
                play.setGraphic(imageViewPlay);
            }
        }
    });
    reload = new Button();
    reload.setGraphic(new ImageView(new Image("com/negativevr/media_library/res/reload.png")));
    reload.setOnAction((ActionEvent e) -> {
        player.seek(player.getStartTime());
    });
    skip = new Button();
    skip.setGraphic((new ImageView(new Image("com/negativevr/media_library/res/skip.png"))));
    skip.setOnAction((ActionEvent e) -> {
        player.seek(player.getStopTime());
    });
    previous = new Button();
    previous.setGraphic(new ImageView(new Image("com/negativevr/media_library/res/previous.png")));
    next = new Button();
    next.setGraphic(new ImageView(new Image("com/negativevr/media_library/res/next.png")));
    Button repeat = new Button();
    if (status == MediaStatus.REPEAT_NONE) {
        repeat.setGraphic(new ImageView(new Image("com/negativevr/media_library/res/repeat_none.png")));
    } else if (status == MediaStatus.REPEAT_SINGLE)
        repeat.setGraphic(new ImageView(new Image("com/negativevr/media_library/res/repeat_single.png")));
    else if (status == MediaStatus.REPEAT_MULTI)
        repeat.setGraphic(new ImageView(new Image("com/negativevr/media_library/res/repeat_playlist.png")));
    repeat.setOnAction((ActionEvent e) -> {
        if (status == MediaStatus.REPEAT_SINGLE) {
            status = MediaStatus.REPEAT_NONE;
            repeat.setGraphic(new ImageView(new Image("com/negativevr/media_library/res/repeat_none.png")));
        } else if (status == MediaStatus.REPEAT_NONE) {
            status = MediaStatus.REPEAT_MULTI;
            repeat.setGraphic(new ImageView(new Image("com/negativevr/media_library/res/repeat_playlist.png")));
        } else if (status == MediaStatus.REPEAT_MULTI) {
            status = MediaStatus.REPEAT_SINGLE;
            repeat.setGraphic(new ImageView(new Image("com/negativevr/media_library/res/repeat_single.png")));
        }
    });
    timeSlider = new Slider();
    HBox.setHgrow(timeSlider, Priority.ALWAYS);
    timeSlider.setMinSize(100, 50);
    timeSlider.valueProperty().addListener(new InvalidationListener() {

        @Override
        public void invalidated(Observable ov) {
            if (timeSlider.isValueChanging()) {
                Duration duration = player.getMedia().getDuration();
                if (duration != null) {
                    player.seek(duration.multiply(timeSlider.getValue() / 100.0));
                }
                updateValues();
            }
        }
    });
    List<MediaFile> data = Main.getMasterDataAsList();
    if (data.size() != 0) {
        artistLabel = new Label(data.get(0).getArtistName() + " - " + data.get(0).getAlbumName());
        songLabel = new Label(data.get(0).getSongName());
    } else {
        artistLabel = new Label();
        songLabel = new Label();
    }
    player.currentTimeProperty().addListener(new InvalidationListener() {

        @Override
        public void invalidated(Observable ov) {
            updateValues();
        }
    });
    player.currentTimeProperty().addListener(new ChangeListener<Duration>() {

        @Override
        public void changed(ObservableValue<? extends Duration> arg0, Duration arg1, Duration arg2) {
            updateValues();
        }
    });
    time = new Label();
    time.setTextFill(Color.BLACK);
    player.setOnReady(() -> {
        duration = player.getMedia().getDuration();
        updateValues();
    });
    // volume control slider
    volumeSlider = new Slider(0, 1, 0);
    player.volumeProperty().bindBidirectional(volumeSlider.valueProperty());
    player.setVolume(0.5);
    // fade in time line
    final Timeline fadeInTimeline = new Timeline(new KeyFrame(FADE_DURATION, new KeyValue(player.volumeProperty(), 1.0)));
    // fade out timeline
    final Timeline fadeOutTimeline = new Timeline(new KeyFrame(FADE_DURATION, new KeyValue(player.volumeProperty(), 0.0)));
    // fade in button
    fadeIn = new Button("Fade In");
    fadeIn.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent t) {
            fadeInTimeline.play();
        }
    });
    fadeIn.setMaxWidth(Double.MAX_VALUE);
    // fade out button
    fadeOut = new Button("Fade Out");
    fadeOut.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent t) {
            fadeOutTimeline.play();
        }
    });
    fadeOut.setMaxWidth(Double.MAX_VALUE);
    player.setOnEndOfMedia(() -> {
        play.setGraphic(imageViewPlay);
        if (status == MediaStatus.REPEAT_NONE) {
            player.seek(new Duration(0));
            player.pause();
            play.setGraphic(imageViewPlay);
        } else if (status == MediaStatus.REPEAT_SINGLE) {
            player.seek(new Duration(0));
            player.play();
            play.setGraphic(imageViewPause);
        }
    });
    // volume cotrol box
    fadeBox.getChildren().addAll(fadeOut, fadeIn);
    fadeBox.setAlignment(Pos.CENTER);
    volumeControls.getChildren().setAll(new Label("Volume"), volumeSlider, fadeBox);
    volumeControls.setAlignment(Pos.CENTER);
    volumeControls.disableProperty().bind(Bindings.or(Bindings.equal(Timeline.Status.RUNNING, fadeInTimeline.statusProperty()), Bindings.equal(Timeline.Status.RUNNING, fadeOutTimeline.statusProperty())));
    timeControls.getChildren().addAll(songLabel, artistLabel, timeSlider);
    timeControls.setAlignment(Pos.CENTER);
    timeControls.setFillWidth(true);
    timeControls.setMinWidth(300);
    timeBox.getChildren().addAll(repeat, time);
    timeBox.setAlignment(Pos.CENTER);
    mediaControlBox.getChildren().addAll(previous, reload, play, skip, next);
    mediaControlBox.setAlignment(Pos.CENTER);
    searchBox.getChildren().addAll(new Label("Search"), search);
    searchBox.setAlignment(Pos.CENTER_RIGHT);
    mediaSlot.getChildren().addAll(mediaControlBox, timeBox, timeControls, volumeControls, mediaView, searchBox);
    mediaSlot.setSpacing(10);
    HBox.setHgrow(timeControls, Priority.ALWAYS);
    return mediaSlot;
}
Also used : HBox(javafx.scene.layout.HBox) KeyValue(javafx.animation.KeyValue) Slider(javafx.scene.control.Slider) ActionEvent(javafx.event.ActionEvent) Label(javafx.scene.control.Label) Image(javafx.scene.image.Image) MediaView(javafx.scene.media.MediaView) Button(javafx.scene.control.Button) MouseButton(javafx.scene.input.MouseButton) ImageView(javafx.scene.image.ImageView) Path(java.nio.file.Path) Status(javafx.scene.media.MediaPlayer.Status) MediaFile(com.negativevr.media_library.files.MediaFile) Media(javafx.scene.media.Media) Duration(javafx.util.Duration) Observable(javafx.beans.Observable) Timeline(javafx.animation.Timeline) InvalidationListener(javafx.beans.InvalidationListener) KeyFrame(javafx.animation.KeyFrame) VBox(javafx.scene.layout.VBox) MediaPlayer(javafx.scene.media.MediaPlayer)

Example 89 with ImageView

use of javafx.scene.image.ImageView in project Media-Library by The-Rain-Goddess.

the class ApplicationWindow method updatePlayer.

/**
 * updates the media player object to account for new media being loaded
 */
private void updatePlayer() {
    timeSlider.valueProperty().addListener(new InvalidationListener() {

        @Override
        public void invalidated(Observable ov) {
            if (timeSlider.isValueChanging()) {
                // Duration duration = player.getCurrentTime();
                Duration duration = player.getMedia().getDuration();
                if (duration != null) {
                    player.seek(duration.multiply(timeSlider.getValue() / 100.0));
                }
                updateValues();
            }
        }
    });
    player.setOnReady(() -> {
        duration = player.getMedia().getDuration();
        updateValues();
    });
    player.currentTimeProperty().addListener(new ChangeListener<Duration>() {

        @Override
        public void changed(ObservableValue<? extends Duration> arg0, Duration arg1, Duration arg2) {
            updateValues();
        }
    });
    player.volumeProperty().bindBidirectional(volumeSlider.valueProperty());
    Image PlayButtonImage = new Image("com/negativevr/media_library/res/play.png");
    Image PauseButtonImage = new Image("com/negativevr/media_library/res/pause.png");
    ImageView imageViewPlay = new ImageView(PlayButtonImage);
    ImageView imageViewPause = new ImageView(PauseButtonImage);
    play.setGraphic(imageViewPause);
    play.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent e) {
            updateValues();
            Status status = player.getStatus();
            if (status == Status.PAUSED || status == Status.READY || status == Status.UNKNOWN || status == Status.STOPPED) {
                player.play();
                play.setGraphic(imageViewPause);
            } else {
                player.pause();
                play.setGraphic(imageViewPlay);
            }
        }
    });
    player.setOnEndOfMedia(() -> {
        play.setGraphic(imageViewPlay);
        if (status == MediaStatus.REPEAT_NONE) {
            player.seek(new Duration(0));
            player.pause();
            play.setGraphic(imageViewPlay);
        } else if (status == MediaStatus.REPEAT_SINGLE) {
            player.seek(new Duration(0));
            player.play();
            play.setGraphic(imageViewPause);
        } else if (status == MediaStatus.REPEAT_MULTI) {
            SortedList<MediaFile> list = getSortedData();
            Media nextSong = null;
            for (int i = 0; i < list.size(); i++) {
                if (i != list.size() - 1 && player.getMedia().getSource().toString().contains(new File(list.get(i).getLibraryFilePath()).toURI().toString())) {
                    nextSong = new Media(new File(list.get(i + 1).getLibraryFilePath()).toURI().toString());
                    artistLabel.setText(list.get(i + 1).getArtistName() + " - " + list.get(i + 1).getAlbumName());
                    songLabel.setText(list.get(i + 1).getSongName());
                } else if (i == list.size() - 1 && player.getMedia().getSource().toString().contains(new File(list.get(i).getLibraryFilePath()).toURI().toString())) {
                    nextSong = new Media(new File(list.get(0).getLibraryFilePath()).toURI().toString());
                    artistLabel.setText(list.get(0).getArtistName() + " - " + list.get(0).getAlbumName());
                    songLabel.setText(list.get(0).getSongName());
                }
            }
            if (nextSong != null) {
                player = new MediaPlayer(nextSong);
                player.setAutoPlay(true);
                updatePlayer();
                player.play();
            }
        }
    });
    reload.setOnAction((ActionEvent e) -> {
        player.seek(player.getStartTime());
    });
    skip.setOnAction((ActionEvent e) -> {
        player.seek(player.getStopTime());
    });
    // fade in time line
    final Timeline fadeInTimeline = new Timeline(new KeyFrame(FADE_DURATION, new KeyValue(player.volumeProperty(), 1.0)));
    // fade out timeline
    final Timeline fadeOutTimeline = new Timeline(new KeyFrame(FADE_DURATION, new KeyValue(player.volumeProperty(), 0.0)));
    // fade in button
    fadeIn = new Button("Fade In");
    fadeIn.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent t) {
            fadeInTimeline.play();
        }
    });
    fadeIn.setMaxWidth(Double.MAX_VALUE);
    // fade out button
    fadeOut = new Button("Fade Out");
    fadeOut.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent t) {
            fadeOutTimeline.play();
        }
    });
    fadeOut.setMaxWidth(Double.MAX_VALUE);
}
Also used : Status(javafx.scene.media.MediaPlayer.Status) MediaFile(com.negativevr.media_library.files.MediaFile) KeyValue(javafx.animation.KeyValue) ActionEvent(javafx.event.ActionEvent) Media(javafx.scene.media.Media) Duration(javafx.util.Duration) Image(javafx.scene.image.Image) Observable(javafx.beans.Observable) Timeline(javafx.animation.Timeline) Button(javafx.scene.control.Button) MouseButton(javafx.scene.input.MouseButton) InvalidationListener(javafx.beans.InvalidationListener) KeyFrame(javafx.animation.KeyFrame) ImageView(javafx.scene.image.ImageView) MediaFile(com.negativevr.media_library.files.MediaFile) File(java.io.File) MediaPlayer(javafx.scene.media.MediaPlayer)

Example 90 with ImageView

use of javafx.scene.image.ImageView in project Media-Library by The-Rain-Goddess.

the class ApplicationWindow method getMenuItem.

private MenuItem getMenuItem(String name, MenuAction action) {
    MenuItem item = new MenuItem(name, new ImageView(new Image("com/negativevr/media_library/res/" + name.toLowerCase() + ".png")));
    item.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent t) {
            action.execute();
        }
    });
    return item;
}
Also used : ActionEvent(javafx.event.ActionEvent) MenuItem(javafx.scene.control.MenuItem) ImageView(javafx.scene.image.ImageView) Image(javafx.scene.image.Image)

Aggregations

ImageView (javafx.scene.image.ImageView)219 Image (javafx.scene.image.Image)98 Button (javafx.scene.control.Button)46 Label (javafx.scene.control.Label)44 Insets (javafx.geometry.Insets)36 Tooltip (javafx.scene.control.Tooltip)32 VBox (javafx.scene.layout.VBox)29 Scene (javafx.scene.Scene)28 File (java.io.File)26 ChangeListener (javafx.beans.value.ChangeListener)24 Node (javafx.scene.Node)21 AutoTooltipLabel (bisq.desktop.components.AutoTooltipLabel)20 AnchorPane (javafx.scene.layout.AnchorPane)20 Pane (javafx.scene.layout.Pane)20 StackPane (javafx.scene.layout.StackPane)20 Callback (javafx.util.Callback)20 BorderPane (javafx.scene.layout.BorderPane)18 HBox (javafx.scene.layout.HBox)18 ActionEvent (javafx.event.ActionEvent)17 FXML (javafx.fxml.FXML)17