Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.bham.pij.assignments.edgedetector;
- import java.io.File;
- import javafx.application.Application;
- import javafx.event.ActionEvent;
- import javafx.event.EventHandler;
- import javafx.scene.Scene;
- import javafx.scene.control.Menu;
- import javafx.scene.control.MenuBar;
- import javafx.scene.control.MenuItem;
- import javafx.scene.image.Image;
- import javafx.scene.image.ImageView;
- import javafx.scene.layout.VBox;
- import javafx.stage.FileChooser;
- import javafx.stage.Stage;
- public class UserInterface extends Application {
- private Image img = null;
- private ImageView imgView = null;
- private ImageView edImgView = null;
- private VBox root = new VBox();
- private void loadImageFile(File file) {
- img = new Image("file:" + file.getPath());
- imgView = new ImageView(img);
- root.getChildren().add(imgView);
- }
- @Override
- public void start (Stage stage) {
- stage.setTitle("Title");
- VBox root = new VBox();
- Menu fileMenu = new Menu("File");
- MenuItem openItem = new MenuItem("Open");
- MenuItem closeItem = new MenuItem("Close");
- Menu toolsMenu = new Menu("Tools");
- MenuItem edgeDetItem = new MenuItem("Edge Detection");
- MenuItem revertItem = new MenuItem("Revert");
- openItem.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent t) {
- FileChooser fileChooser = new FileChooser();
- fileChooser.setTitle("Open Image File");
- File file = fileChooser.showOpenDialog(stage);
- if (file != null) {
- loadImageFile(file);
- root.getChildren().add(imgView);
- openItem.setDisable(true);
- edgeDetItem.setDisable(false);
- revertItem.setDisable(true);
- closeItem.setDisable(false);
- }
- }
- });
- closeItem.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent t) {
- root.getChildren().remove(imgView);
- root.getChildren().remove(edImgView);
- stage.setTitle("EdgeDetector.exe");
- openItem.setDisable(false);
- edgeDetItem.setDisable(true);
- revertItem.setDisable(true);
- }
- });
- edgeDetItem.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent t) {
- EdgeDetector obj = new EdgeDetector();
- root.getChildren().remove(imgView);
- edImgView = new ImageView(obj.filterImage(img));
- root.getChildren().add(edImgView);
- stage.setTitle("EdgeDetector Filter");
- openItem.setDisable(true);
- edgeDetItem.setDisable(true);
- revertItem.setDisable(false);
- }
- });
- revertItem.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent t) {
- root.getChildren().remove(edImgView);
- root.getChildren().add(imgView);
- stage.setTitle("EdgeDetector Filter - Reverted change");
- openItem.setDisable(true);
- edgeDetItem.setDisable(false);
- revertItem.setDisable(true);
- }
- });
- closeItem.setDisable(true);
- edgeDetItem.setDisable(true);
- revertItem.setDisable(true);
- fileMenu.getItems().addAll(openItem, closeItem);
- toolsMenu.getItems().addAll(edgeDetItem, revertItem);
- MenuBar menuBar = new MenuBar();
- menuBar.getMenus().add(fileMenu);
- menuBar.getMenus().add(toolsMenu);
- root.getChildren().add(menuBar);
- stage.setScene(new Scene(root, 500, 500));
- stage.show();
- }
- public static void main(String[] args) {
- launch(args);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement