Search in sources :

Example 1 with Image

use of javafx.scene.image.Image in project cryptomator by cryptomator.

the class DraggableListCell method onDragDetected.

private void onDragDetected(MouseEvent event) {
    if (getItem() == null) {
        return;
    }
    final ClipboardContent content = new ClipboardContent();
    content.putString(Integer.toString(getIndex()));
    final Image snapshot = this.snapshot(new SnapshotParameters(), null);
    final Dragboard dragboard = startDragAndDrop(TransferMode.MOVE);
    dragboard.setDragView(snapshot);
    dragboard.setContent(content);
    event.consume();
}
Also used : SnapshotParameters(javafx.scene.SnapshotParameters) ClipboardContent(javafx.scene.input.ClipboardContent) BorderImage(javafx.scene.layout.BorderImage) Image(javafx.scene.image.Image) Dragboard(javafx.scene.input.Dragboard)

Example 2 with Image

use of javafx.scene.image.Image in project cryptomator by cryptomator.

the class MainApplication method initializeStage.

private void initializeStage(Stage primaryStage, MainController mainCtrl) {
    mainCtrl.initStage(primaryStage);
    primaryStage.titleProperty().bind(mainCtrl.windowTitle());
    primaryStage.setResizable(false);
    if (SystemUtils.IS_OS_WINDOWS) {
        primaryStage.getIcons().add(new Image(MainApplication.class.getResourceAsStream("/window_icon.png")));
    }
}
Also used : Image(javafx.scene.image.Image)

Example 3 with Image

use of javafx.scene.image.Image in project PayFile by mikehearn.

the class ClickableBitcoinAddress method showQRCode.

@FXML
protected void showQRCode(MouseEvent event) {
    // Serialize to PNG and back into an image. Pretty lame but it's the shortest code to write and I'm feeling
    // lazy tonight.
    final byte[] imageBytes = QRCode.from(uri()).withSize(320, 240).to(ImageType.PNG).stream().toByteArray();
    Image qrImage = new Image(new ByteArrayInputStream(imageBytes));
    ImageView view = new ImageView(qrImage);
    view.setEffect(new DropShadow());
    // Embed the image in a pane to ensure the drop-shadow interacts with the fade nicely, otherwise it looks weird.
    // Then fix the width/height to stop it expanding to fill the parent, which would result in the image being
    // non-centered on the screen. Finally fade/blur it in.
    Pane pane = new Pane(view);
    pane.setMaxSize(qrImage.getWidth(), qrImage.getHeight());
    final Main.OverlayUI<ClickableBitcoinAddress> overlay = Main.instance.overlayUI(pane, this);
    view.setOnMouseClicked(new EventHandler<MouseEvent>() {

        @Override
        public void handle(MouseEvent event) {
            overlay.done();
        }
    });
}
Also used : MouseEvent(javafx.scene.input.MouseEvent) ByteArrayInputStream(java.io.ByteArrayInputStream) ImageView(javafx.scene.image.ImageView) Image(javafx.scene.image.Image) Pane(javafx.scene.layout.Pane) AnchorPane(javafx.scene.layout.AnchorPane) Main(net.plan99.payfile.gui.Main) DropShadow(javafx.scene.effect.DropShadow) FXML(javafx.fxml.FXML)

Example 4 with Image

use of javafx.scene.image.Image in project processing by processing.

the class PSurfaceFX method setProcessingIcon.

protected void setProcessingIcon(Stage stage) {
    // Removing smaller sizes helps a bit, but big ones are downsized
    try {
        if (iconImages == null) {
            iconImages = new ArrayList<>();
            final int[] sizes = { 48, 64, 128, 256, 512 };
            for (int sz : sizes) {
                URL url = PApplet.class.getResource("/icon/icon-" + sz + ".png");
                Image image = new Image(url.toString());
                iconImages.add(image);
            }
        }
        List<Image> icons = stage.getIcons();
        icons.clear();
        icons.addAll(iconImages);
    }// harmless; keep this to ourselves
     catch (Exception e) {
    }
}
Also used : WritableImage(javafx.scene.image.WritableImage) Image(javafx.scene.image.Image) URL(java.net.URL)

Example 5 with Image

use of javafx.scene.image.Image in project DistributedFractalNetwork by Budder21.

the class FractalEditor method initialize.

/**
	 * Initializes the menus and fractal
	 *
	 * @author David
	 *
	 * @throws FileNotFoundException
	 * @throws AWTException
	 */
@SuppressWarnings({ "rawtypes", "unchecked", "static-access" })
public void initialize() throws FileNotFoundException, AWTException {
    // initializing stuff
    Layer.initializeFractalRegistry();
    File fractalDirectory = new File(Constants.FRACTAL_FILEPATH);
    if (!fractalDirectory.exists()) {
        fractalDirectory.mkdirs();
        try {
            fractalDirectory.createNewFile();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
    }
    fractal = new RenderManager();
    MenuBar menu = new MenuBar();
    SwingNode fractalEditor = new SwingNode();
    TreeView parameters = new TreeView();
    layers = new TreeView();
    VBox trees = new VBox();
    trees.minHeightProperty().bind(bp.minHeightProperty().subtract(menu.minHeightProperty()));
    trees.minWidthProperty().bind(bp.minWidthProperty().divide(6));
    Button render = new Button("Update");
    render.minWidthProperty().bind(trees.minWidthProperty());
    render.minHeightProperty().bind(trees.minHeightProperty().divide(6));
    fractalView = new ImageView();
    fractalView.setOnMouseClicked(e -> {
        Point p = new Point(e.getScreenX(), e.getScreenY() - 52);
        double screenDistX = fractalView.getFitWidth() / 2 - p.x;
        double screenDistY = fractalView.getFitHeight() / 2 - p.y;
        double realDistX = -screenDistX * fractal.getRealResolution().x / fractal.getScreenResolution().width;
        double realDistY = screenDistY * fractal.getRealResolution().y / fractal.getScreenResolution().height;
        fractal.setLocation(new Point(fractal.getLocation().x + realDistX * 2, fractal.getLocation().y + realDistY * 2));
        this.updateFractalImage();
    });
    fractalView.setOnMouseEntered(e -> {
        zoom = true;
    });
    fractalView.setOnMouseExited(e -> {
        zoom = false;
    });
    this.setOnKeyPressed(e -> {
        if (zoom)
            if (e.getCode() == KeyCode.COMMA) {
                this.fractal.setZoom(this.fractal.getZoom() * 1.5);
                updateFractalImage();
            } else if (e.getCode() == KeyCode.PERIOD) {
                this.fractal.setZoom(this.fractal.getZoom() / 1.5);
                updateFractalImage();
            }
    });
    fractalView.setOnScroll(e -> {
        double zoom = e.getDeltaY() > 0 ? 1 / .9 : .9;
        this.fractal.setZoom(this.fractal.getZoom() * zoom);
        this.updateFractalImage();
    });
    this.fractal = new RenderManager();
    render.setOnAction(e -> {
        updateFractalImage();
    });
    // Fitting the image to the screen
    fractalView.fitWidthProperty().bind(bp.minWidthProperty().subtract(trees.minWidthProperty()));
    fractalView.fitHeightProperty().bind(bp.heightProperty().subtract(menu.minHeightProperty()).subtract(220));
    {
        // Fitting gradientEditor to full screen
        Dimension p = new Dimension((int) (Toolkit.getDefaultToolkit().getScreenSize().width * 0.75), 200);
        System.out.println("Gradient Dimensions: " + p);
        gradient = new Window(p, 50, this.fractal.getLayers().get(0));
    }
    {
        // Tree Stuff
        parameters.setRoot(new TreeItem("params"));
        parameters.getRoot().setExpanded(true);
        TreeItem xPos = new TreeItem();
        parameters.getRoot().getChildren().addAll(xPos);
        layers.setRoot(new TreeItem());
        layers.getRoot().setExpanded(true);
        layers.setShowRoot(false);
        layers.setEditable(true);
        /**
			 * layers.setCellFactory(new Callback<TreeView,CheckBoxTreeCell>(){
			 *
			 * @Override public CheckBoxTreeCell call(TreeView p) { return new
			 *           CheckBoxTreeCell(); } });
			 */
        // Use a custom callback to determine the style of the tree item
        layers.setCellFactory(new Callback<TreeView, TreeCell>() {

            @Override
            public TreeCell call(TreeView param) {
                return new CheckBoxTreeCell() {

                    @Override
                    public void updateItem(Object item, boolean empty) {
                        super.updateItem(item, empty);
                        // empty
                        if (empty) {
                            setGraphic(null);
                            setText(null);
                        // Otherwise if it's not representation as an
                        // item of the tree
                        // is not a CheckBoxTreeItem, remove the
                        // checkbox item
                        } else if (!(getTreeItem() instanceof CheckBoxTreeItem)) {
                            BufferedImage image;
                            try {
                                image = ImageIO.read(new File("textures\\plusButton.png"));
                                Image plusImage = SwingFXUtils.toFXImage(image, null);
                                ImageView plusView = new ImageView(plusImage);
                                plusView.setFitHeight(16);
                                plusView.setFitWidth(16);
                                setGraphic(plusView);
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                        }
                    }
                };
            }
        });
        TreeItem add = new TreeItem();
        /**
			 * try{ BufferedImage image = ImageIO.read(new
			 * File("textures\\plusButton.jpg")); Image plusImage =
			 * SwingFXUtils.toFXImage(image, null); ImageView plusView = new
			 * ImageView(plusImage); plusView.setFitWidth(16);
			 * plusView.setFitHeight(16); add.setGraphic(plusView);
			 * }catch(Exception e){ e.printStackTrace(); }
			 */
        layerIndex = 1;
        CheckBoxTreeItem item = getNewTreeItem();
        /**
			 * add.addEventHandler(CheckBoxTreeItem.checkBoxSelectionChangedEvent(),
			 * e -> { if(((CheckBoxTreeItem)(e.getSource())).isSelected()){
			 * ((CheckBoxTreeItem)(e.getSource())).getParent().getChildren().add(0,
			 * new CheckBoxTreeItem(new
			 * MetaLayer("Layer"+incrementLayers(),null)));
			 * ((CheckBoxTreeItem)(e.getSource())).setSelected(false); }});
			 */
        layers.setOnMouseClicked(new EventHandler<MouseEvent>() {

            @Override
            public void handle(MouseEvent mouseEvent) {
                if (mouseEvent.getClickCount() == 2) {
                    if (layers.getSelectionModel().getSelectedItem() == add) {
                        CheckBoxTreeItem i = getNewTreeItem();
                        layers.getRoot().getChildren().add(0, i);
                        fractal.addLayer("HistogramLayer");
                    } else {
                        ((TreeItem) layers.getSelectionModel().getSelectedItem()).setValue(LayerBox.display((TreeItem<MetaLayer>) layers.getSelectionModel().getSelectedItem()));
                        MetaLayer meta = ((MetaLayer) ((TreeItem) layers.getSelectionModel().getSelectedItem()).getValue());
                        int index = layers.getRoot().getChildren().size() - 2 - layers.getRoot().getChildren().indexOf(layers.getSelectionModel().getSelectedItem());
                        Layer l = fractal.getLayers().get(index);
                        if (meta.getType() != l.getClass().getSimpleName()) {
                            Layer newLayer = Layer.getLayerByType(meta.getType());
                            newLayer.init(new Palette(), index + 1);
                            fractal.getLayers().set(index, newLayer);
                            fractal.update();
                        }
                        fractal.getLayers().get(index).setName(meta.getName());
                        updateFractalImage();
                    }
                } else if (mouseEvent.getClickCount() == 1 && layers.getSelectionModel().getSelectedItem() != add) {
                    int index = layers.getRoot().getChildren().size() - 2 - layers.getRoot().getChildren().indexOf(layers.getSelectionModel().getSelectedItem());
                    Layer l = fractal.getLayers().get(index);
                    gradient.updateLayer(l);
                }
            }
        });
        layers.getRoot().getChildren().addAll(item, add);
        {
        // TODO I DONT KNOW WHY THIS ISNT WORKING IUEAWBIUBFAI
        /**
				 * layers.getRoot().addEventHandler(layers.getRoot().childrenModificationEvent(),e
				 * -> { for(Object i :((TreeItem)e.getSource()).getChildren()){
				 * if(i!=add)
				 * if(((MetaLayer)((TreeItem)(i)).getValue()).isDelete()){
				 * layers.getSelectionModel().select(i);
				 * layers.getSelectionModel().clearSelection(); } } });
				 */
        }
    }
    // Trying to get this to work
    fractalEditor.setOnMouseEntered(e -> gradient.repaint());
    {
        // This is the menu stuff
        Menu network = new Menu("Network");
        Menu fractal = new Menu("Fractal");
        Menu system = new Menu("System");
        MenuItem newNet = new MenuItem("Create New Network");
        MenuItem viewNetLog = new MenuItem("View Network Log");
        MenuItem viewNet = new MenuItem("View Network");
        MenuItem endNet = new MenuItem("Close Network");
        newNet.setOnAction(e -> {
            NetworkCreationTool createNet = new NetworkCreationTool();
            if (createNet.createNetwork()) {
                this.network = createNet.getServer();
                this.network.init(log);
                Alert alert = new Alert(AlertType.INFORMATION);
                alert.setTitle("Network Message");
                alert.setHeaderText(null);
                alert.setContentText("Network succesfully created.");
                viewNet.setDisable(false);
                endNet.setDisable(false);
                newNet.setDisable(true);
                viewNetLog.setDisable(false);
                alert.showAndWait();
            }
        });
        viewNet.setDisable(true);
        endNet.setDisable(true);
        viewNetLog.setDisable(true);
        viewNet.setOnAction(e -> {
            Display display = new Display(this.network);
            this.network.setDisplay(display);
            display.updateNetworkView(this.network.getChildren(), this.network.getUncompletedJobs());
        });
        endNet.setOnAction(e -> {
            this.network.kill();
            viewNet.setDisable(true);
            endNet.setDisable(true);
            viewNetLog.setDisable(true);
            newNet.setDisable(false);
        });
        viewNetLog.setOnAction(e -> {
            Alert alert = new Alert(AlertType.INFORMATION);
            alert.setTitle("Network Log");
            alert.setHeaderText(null);
            alert.setContentText(this.network.getLog().getLog());
            alert.showAndWait();
        });
        network.getItems().addAll(newNet, viewNet, viewNetLog, endNet);
        MenuItem newFract = new MenuItem("New Fractal");
        newFract.setOnAction(e -> {
            this.fractal = new RenderManager();
            gradient.updateLayer(this.fractal.getLayers().get(0));
            this.updateFractalImage();
        });
        MenuItem openFract = new MenuItem("Open Fractal");
        openFract.setOnAction(e -> {
            FileChooser chooser = new FileChooser();
            chooser.setTitle("Open Fractal");
            chooser.setInitialDirectory(new File("fractals"));
            FileChooser.ExtensionFilter filter = new FileChooser.ExtensionFilter("Fractals (*.fractal)", "*.fractal");
            chooser.getExtensionFilters().add(filter);
            File f = chooser.showOpenDialog(null);
            this.fractal = new RenderManager(f);
            gradient.updateLayer(this.fractal.getLayers().get(0));
            this.updateFractalImage();
        });
        MenuItem saveFract = new MenuItem("Save Fractal");
        saveFract.setOnAction(e -> {
            this.fractal.saveFractal();
        });
        MenuItem saveFractAs = new MenuItem("Save Fractal As");
        saveFractAs.setOnAction(e -> {
            this.fractal.saveFractalAs();
        });
        MenuItem exportFract = new MenuItem("Export Fractal");
        exportFract.setOnAction(e -> {
            ExportImageTool export = new ExportImageTool();
            export.exportImage(this.fractal);
        });
        fractal.getItems().addAll(newFract, openFract, saveFract, saveFractAs, exportFract);
        MenuItem newLayer = new MenuItem("New Layer Type");
        newLayer.setOnAction(e -> {
            RegisterLayerTool register = new RegisterLayerTool();
            register.registerLayer();
            Layer.registerLayer(register.getFile());
        });
        MenuItem changeLog = new MenuItem("Edit Log Options");
        changeLog.setOnAction(e -> {
        });
        system.getItems().addAll(newLayer, changeLog);
        menu.getMenus().addAll(fractal);
        menu.getMenus().addAll(network);
        menu.getMenus().addAll(system);
    }
    VBox center = new VBox();
    center.getChildren().addAll(fractalView, fractalEditor);
    trees.getChildren().addAll(parameters, layers, render);
    bp.setCenter(center);
    bp.setRight(trees);
    // This is where the menu is located on the border pane
    bp.setTop(menu);
    bp.minWidthProperty().bind(this.widthProperty());
    bp.minHeightProperty().bind(this.heightProperty());
    fractalEditor.setContent(gradient);
    fractalEditor.minHeight(200);
}
Also used : EventHandler(javafx.event.EventHandler) Button(javafx.scene.control.Button) Scene(javafx.scene.Scene) RegisterLayerTool(menus.RegisterLayerTool) Server(server.Server) TreeItem(javafx.scene.control.TreeItem) MouseEvent(javafx.scene.input.MouseEvent) Log(util.Log) ChoiceDialog(javafx.scene.control.ChoiceDialog) VBox(javafx.scene.layout.VBox) TreeModificationEvent(javafx.scene.control.CheckBoxTreeItem.TreeModificationEvent) Constants(util.Constants) ArrayList(java.util.ArrayList) AlertType(javafx.scene.control.Alert.AlertType) ImageIO(javax.imageio.ImageIO) Layer(fractal.Layer) Callback(javafx.util.Callback) Alert(javafx.scene.control.Alert) KeyCode(javafx.scene.input.KeyCode) MenuBar(javafx.scene.control.MenuBar) MenuItem(javafx.scene.control.MenuItem) BufferedImage(java.awt.image.BufferedImage) IOException(java.io.IOException) RenderManager(fractal.RenderManager) ExportImageTool(menus.ExportImageTool) CheckBoxTreeCell(javafx.scene.control.cell.CheckBoxTreeCell) Point(util.Point) File(java.io.File) FileNotFoundException(java.io.FileNotFoundException) TreeView(javafx.scene.control.TreeView) Menu(javafx.scene.control.Menu) Display(menus.Display) NetworkCreationTool(menus.NetworkCreationTool) CheckBoxTreeItem(javafx.scene.control.CheckBoxTreeItem) FileChooser(javafx.stage.FileChooser) Dimension(java.awt.Dimension) List(java.util.List) Palette(fractal.Palette) ImageView(javafx.scene.image.ImageView) AWTException(java.awt.AWTException) SwingFXUtils(javafx.embed.swing.SwingFXUtils) TreeCell(javafx.scene.control.TreeCell) BorderPane(javafx.scene.layout.BorderPane) Image(javafx.scene.image.Image) SwingNode(javafx.embed.swing.SwingNode) Toolkit(java.awt.Toolkit) Palette(fractal.Palette) TreeItem(javafx.scene.control.TreeItem) CheckBoxTreeItem(javafx.scene.control.CheckBoxTreeItem) MenuBar(javafx.scene.control.MenuBar) EventHandler(javafx.event.EventHandler) BufferedImage(java.awt.image.BufferedImage) Image(javafx.scene.image.Image) BufferedImage(java.awt.image.BufferedImage) SwingNode(javafx.embed.swing.SwingNode) CheckBoxTreeCell(javafx.scene.control.cell.CheckBoxTreeCell) Button(javafx.scene.control.Button) FileChooser(javafx.stage.FileChooser) ImageView(javafx.scene.image.ImageView) Menu(javafx.scene.control.Menu) RenderManager(fractal.RenderManager) MouseEvent(javafx.scene.input.MouseEvent) CheckBoxTreeItem(javafx.scene.control.CheckBoxTreeItem) MenuItem(javafx.scene.control.MenuItem) IOException(java.io.IOException) Point(util.Point) Dimension(java.awt.Dimension) Layer(fractal.Layer) Point(util.Point) ExportImageTool(menus.ExportImageTool) Callback(javafx.util.Callback) NetworkCreationTool(menus.NetworkCreationTool) TreeView(javafx.scene.control.TreeView) Alert(javafx.scene.control.Alert) File(java.io.File) VBox(javafx.scene.layout.VBox) RegisterLayerTool(menus.RegisterLayerTool) Display(menus.Display)

Aggregations

Image (javafx.scene.image.Image)72 ImageView (javafx.scene.image.ImageView)32 Scene (javafx.scene.Scene)11 File (java.io.File)10 Label (javafx.scene.control.Label)9 IOException (java.io.IOException)8 URL (java.net.URL)8 VBox (javafx.scene.layout.VBox)8 List (java.util.List)7 SnapshotParameters (javafx.scene.SnapshotParameters)6 ArrayList (java.util.ArrayList)5 FXML (javafx.fxml.FXML)5 Button (javafx.scene.control.Button)5 WritableImage (javafx.scene.image.WritableImage)5 Stage (javafx.stage.Stage)5 ByteArrayInputStream (java.io.ByteArrayInputStream)4 FileInputStream (java.io.FileInputStream)4 InputStream (java.io.InputStream)4 ActionEvent (javafx.event.ActionEvent)4 Insets (javafx.geometry.Insets)4