private void setCaracteristicasAlContenedorPrincipal() { Button botonJuegosExistentes = new Button("Juegos existentes"); botonJuegosExistentes.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20)); botonJuegosExistentes.setTextFill(Color.WHITE); BackgroundFill fondoDeColorJuegosExistentes = new BackgroundFill(Color.RED, new CornerRadii(5), new Insets(0.0, 0.0, 0.0, 0.0)); botonJuegosExistentes.setBackground(new Background(fondoDeColorJuegosExistentes)); botonJuegosExistentes.setOnMouseEntered( e -> { botonJuegosExistentes.setScaleX(1.3); botonJuegosExistentes.setScaleY(1.3); }); botonJuegosExistentes.setOnMouseExited( e -> { botonJuegosExistentes.setScaleX(1); botonJuegosExistentes.setScaleY(1); }); botonJuegosExistentes.setOnAction( e -> { VistaJuegosExistentes nuevaVista = new VistaJuegosExistentes(this); nuevaVista.mostrar(); }); Button botonNuevoJuego = new Button("Nuevo juego"); botonNuevoJuego.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20)); botonNuevoJuego.setTextFill(Color.WHITE); BackgroundFill fondoDeColorNuevoJuego = new BackgroundFill(Color.RED, new CornerRadii(5), new Insets(0.0, 0.0, 0.0, 0.0)); botonNuevoJuego.setBackground(new Background(fondoDeColorNuevoJuego)); botonNuevoJuego.setOnMouseEntered( e -> { botonNuevoJuego.setScaleX(1.3); botonNuevoJuego.setScaleY(1.3); }); botonNuevoJuego.setOnMouseExited( e -> { botonNuevoJuego.setScaleX(1); botonNuevoJuego.setScaleY(1); }); botonNuevoJuego.setOnAction( e -> { VistaEleccionVarianteFlor nuevaVista = new VistaEleccionVarianteFlor(this); nuevaVista.mostrar(); }); this.contenedor.getChildren().addAll(botonJuegosExistentes, botonNuevoJuego); }
private void createFirebugButton() { firebugButton = new Button(FontAwesome.ICON_BUG); firebugButton.setFont(Font.font("FontAwesome", 14)); firebugButton.setTextFill(Color.RED); firebugButton.setTooltip(new Tooltip("Launch Firebug.")); firebugButton.disableProperty().bind(webEngine.getLoadWorker().runningProperty()); firebugButton.setOnAction(observable -> webEngine.executeScript(firebugScript)); }
@Override public void start(Stage primaryStage) { // Text Button Button btnText = new Button(); btnText.setText("Button!"); btnText.setTextFill(Color.web("red")); btnText.setFont(new Font("Verdana", 15)); // Image Text Button Button btnTextImage = new Button(); btnTextImage.setText("Check"); btnTextImage.setFont(Font.font(20)); btnTextImage.setPrefSize(150, 100); Image imgCheck = new Image("file:resources/images/check.png"); btnTextImage.setGraphic(new ImageView(imgCheck)); // Image Button Button btnRight = new Button(); Image imgRight = new Image("file:resources/images/button_right.png"); btnRight.setGraphic(new ImageView(imgRight)); Button btnLeft = new Button(); Image imgLeft = new Image("file:resources/images/button_left.png"); btnLeft.setGraphic(new ImageView(imgLeft)); HBox hBoxFirst = new HBox(25); hBoxFirst.getChildren().addAll(btnText, btnTextImage); HBox hBoxSecond = new HBox(10); hBoxSecond.getChildren().addAll(btnLeft, btnRight); VBox vBox = new VBox(20); vBox.getChildren().addAll(hBoxFirst, hBoxSecond); vBox.setPadding(new Insets(20, 20, 20, 20)); StackPane layout = new StackPane(vBox); Scene scene = new Scene(layout, 300, 180); primaryStage.setTitle("Sample 03. Button"); primaryStage.setScene(scene); primaryStage.show(); }
public Scene sc(String message) { GridPane gp = new GridPane(); gp.setMaxSize(150, 150); Button text = new Button(message); text.setOnAction(eventClose -> stage.close()); text.setFont(new Font("Arial", 20)); text.setAlignment(Pos.CENTER); gp.setAlignment(Pos.CENTER); gp.getChildren().add(text); Scene sc = new Scene(gp, 300, 150); return sc; }
private void createScreenShotButton() { screenShotButton = new Button(FontAwesome.ICON_CAMERA); screenShotButton.setFont(Font.font("FontAwesome", 14)); screenShotButton.setTooltip(new Tooltip("Take Screen Shot.")); // screenShotButton.disableProperty().bind(webEngine.getLoadWorker().runningProperty()); screenShotButton.setOnAction( observable -> { WritableImage image = masterPane.snapshot(null, null); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss'.png'"); FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Save Screen Shot..."); fileChooser.setInitialFileName(simpleDateFormat.format(Date.from(Instant.now()))); File imageFile = fileChooser.showSaveDialog(null); if (imageFile != null) { try { ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", imageFile); } catch (IOException e) { e.printStackTrace(); } } }); }
public void showBackButton() { this.backMenuButton.setVisible(true); backMenuButton.setFont(theFontSmall); }
/** * Draws the MapMaker screen and displays it to the user * * @param primaryStage the stage to show it in * @throws Exception */ public void drawScreen(Stage primaryStage) throws Exception { // Create the base BorderPane for the whole window BorderPane borderPane = new BorderPane(); borderPane.setStyle("-fx-background-color: papayawhip"); // Add some instructions to the user String text = "Instructions:\n" + "1. Click on the map component that you would like to place in the map\n" + "2. Click on the place in the map where you want to place the component\n" + "3. Repeat until you built the map you want!\n" + "4. Hit the 'Save' button when you are done"; Label instructions = new Label(text); instructions.setFont(Font.font("Arial", FontWeight.BOLD, 12)); instructions.setPadding(new Insets(5, 5, 5, 5)); borderPane.setTop(instructions); // Create the blank Map Pane mapPane = new Pane(); Map map = new Map(width, height); MapGridGUIDecorator mapGridGUIDecorator = new MapGridGUIDecorator(map.getGrid()); ResizeFactor rf = ResizeFactor.getSuggestedResizeFactor(width, height); mapGridGUIDecorator.setResizeFactor(rf); GridPane mapGridPane = mapGridGUIDecorator.drawComponents(); mapGridPane.setPadding(new Insets(0, 0, 5, 5)); mapPane.getChildren().add(mapGridPane); borderPane.setCenter(mapPane); MapMakerController.setCurrentFocused(ComponentType.NOTHING); VBox sideComponents = new VBox(); /* Add "Components" label */ Label componentsLabel = new Label("Components"); componentsLabel.setFont(Font.font("Arial", FontWeight.EXTRA_BOLD, 14)); componentsLabel.setPadding(new Insets(15, 5, 0, 20)); sideComponents.getChildren().add(componentsLabel); /* Add Intersection square image */ VBox intersectionPane = new VBox(); Label intersectionLabel = new Label("Intersection"); intersectionLabel.setPadding(new Insets(5, 5, 0, 30)); intersectionLabel.setFont(Font.font("Arial", FontWeight.SEMI_BOLD, 12)); Image intersectionImg = new Image("IntersectionX.png", 60, 60, true, false); intersectionImgView = new ImageView(intersectionImg); StackPane intersectionStackPane = new StackPane(intersectionImgView); intersectionStackPane.setPadding(new Insets(0, 10, 10, 10)); intersectionPane.getChildren().add(intersectionLabel); intersectionPane.getChildren().add(intersectionStackPane); sideComponents.getChildren().add(intersectionPane); /* Add RoadNS square image */ VBox roadNSPane = new VBox(); Label roadNSLabel = new Label("Road (North-South)"); roadNSLabel.setPadding(new Insets(5, 5, 0, 15)); roadNSLabel.setFont(Font.font("Arial", FontWeight.SEMI_BOLD, 12)); Image roadNSImg = new Image("RoadBackgroundNS.png", 60, 60, true, false); roadNSImgView = new ImageView(roadNSImg); StackPane roadNSStackPane = new StackPane(roadNSImgView); roadNSStackPane.setPadding(new Insets(0, 10, 10, 10)); roadNSPane.getChildren().add(roadNSLabel); roadNSPane.getChildren().add(roadNSStackPane); sideComponents.getChildren().add(roadNSPane); /* Add RoadEW square image */ VBox roadEWPane = new VBox(); Label roadEWLabel = new Label("Road (East-West)"); roadEWLabel.setPadding(new Insets(5, 5, 0, 15)); roadEWLabel.setFont(Font.font("Arial", FontWeight.SEMI_BOLD, 12)); Image roadEWImg = new Image("RoadBackgroundEW.png", 60, 60, true, false); roadEWImgView = new ImageView(roadEWImg); StackPane roadEWStackPane = new StackPane(roadEWImgView); roadEWStackPane.setPadding(new Insets(0, 10, 10, 10)); roadEWPane.getChildren().add(roadEWLabel); roadEWPane.getChildren().add(roadEWStackPane); sideComponents.getChildren().add(roadEWPane); /* Add Grass square image to empty out cells */ VBox grassPane = new VBox(); Label grassLabel = new Label("Grass (clear square)"); grassLabel.setPadding(new Insets(5, 5, 0, 15)); grassLabel.setFont(Font.font("Arial", FontWeight.SEMI_BOLD, 12)); Image grassImg = new Image("Grass.png", 60, 60, true, false); grassImgView = new ImageView(grassImg); StackPane grassStackPane = new StackPane(grassImgView); grassStackPane.setPadding(new Insets(0, 10, 10, 10)); grassPane.getChildren().add(grassLabel); grassPane.getChildren().add(grassStackPane); sideComponents.getChildren().add(grassPane); /* Add Save, Reset buttons */ VBox buttonsPane = new VBox(); buttonsPane.setPadding(new Insets(0, 0, 0, 10)); Label toolsLabel = new Label("Tools"); toolsLabel.setFont(Font.font("Arial", FontWeight.EXTRA_BOLD, 14)); toolsLabel.setPadding(new Insets(15, 5, 5, 35)); buttonsPane.getChildren().add(toolsLabel); Insets padding = new Insets(0, 0, 5, 0); Button saveButton = new Button("Save Map"); StackPane saveButtonPane = new StackPane(saveButton); saveButtonPane.setPadding(padding); saveButton.setStyle("-fx-base:Gold"); saveButton.setFont(Font.font("System Bold Italic", FontWeight.BOLD, 13)); buttonsPane.getChildren().add(saveButtonPane); Button resetButton = new Button("Reset Map"); resetButton.setStyle("-fx-base:Gold"); resetButton.setFont(Font.font("System Bold Italic", FontWeight.BOLD, 13)); StackPane resetButtonPane = new StackPane(resetButton); resetButtonPane.setPadding(padding); buttonsPane.getChildren().add(resetButtonPane); Button backButton = new Button("Go Back"); backButton.setStyle("-fx-base:Gold"); backButton.setFont(Font.font("System Bold Italic", FontWeight.BOLD, 13)); StackPane backButtonPane = new StackPane(backButton); backButtonPane.setPadding(padding); buttonsPane.getChildren().add(backButtonPane); sideComponents.getChildren().add(buttonsPane); Ticker.start(); /* Add click processing for Map grid squares */ for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { Node current = getNodeFromIndex(i, j, mapGridPane); final int x = j; final int y = i; current.setOnMouseClicked( (MouseEvent click) -> { MapMakerController.setPreviousFocused(MapMakerController.getCurrentFocused()); MapMakerController.setCurrentFocused(ComponentType.MAP_SQUARE); current.requestFocus(); }); current .focusedProperty() .addListener( (ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) -> { ComponentType previous = MapMakerController.getPreviousFocused(); if (previous == ComponentType.INTERSECTION) { addIntersection( x, y, map, mapGridGUIDecorator, mapGridPane, intersectionImgView); } else if (previous == ComponentType.ROADNS) { addRoadNS(x, y, map, mapGridGUIDecorator, mapGridPane, roadNSImgView); } else if (previous == ComponentType.ROADEW) { addRoadEW(x, y, map, mapGridGUIDecorator, mapGridPane, roadEWImgView); } else if (previous == ComponentType.GRASS) { addGrass(x, y, map, mapGridGUIDecorator, mapGridPane, grassImgView); } }); } } /* Add intersection icon click processing */ DropShadow ds = new DropShadow(15, Color.BLUE); intersectionImgView.setOnMouseClicked( click -> { MapMakerController.setPreviousFocused(MapMakerController.getCurrentFocused()); MapMakerController.setCurrentFocused(ComponentType.INTERSECTION); intersectionImgView.requestFocus(); }); intersectionImgView .focusedProperty() .addListener( (ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) -> { if (newValue) intersectionImgView.setEffect(ds); else intersectionImgView.setEffect(null); }); /* Add roadNS icon click processing */ roadNSImgView.setOnMouseClicked( click -> { MapMakerController.setPreviousFocused(MapMakerController.getCurrentFocused()); MapMakerController.setCurrentFocused(ComponentType.ROADNS); roadNSImgView.requestFocus(); }); roadNSImgView .focusedProperty() .addListener( (ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) -> { if (newValue) roadNSImgView.setEffect(ds); else roadNSImgView.setEffect(null); }); /* Add roadEW icon click processing */ roadEWImgView.setOnMouseClicked( click -> { MapMakerController.setPreviousFocused(MapMakerController.getCurrentFocused()); MapMakerController.setCurrentFocused(ComponentType.ROADEW); roadEWImgView.requestFocus(); }); roadEWImgView .focusedProperty() .addListener( (ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) -> { if (newValue) roadEWImgView.setEffect(ds); else roadEWImgView.setEffect(null); }); /* Add grass icon click processing */ grassImgView.setOnMouseClicked( click -> { MapMakerController.setPreviousFocused(MapMakerController.getCurrentFocused()); MapMakerController.setCurrentFocused(ComponentType.GRASS); grassImgView.requestFocus(); }); grassImgView .focusedProperty() .addListener( (ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) -> { if (newValue) grassImgView.setEffect(ds); else grassImgView.setEffect(null); }); /* Add save button functionality */ saveButton.setOnMouseClicked( click -> { TextInputDialog nameDialog = new TextInputDialog(); nameDialog.setTitle("Save Map"); nameDialog.setHeaderText( "Please provide a name for your map (no spaces or special characters).\nSaved maps go into the /maps directory of your working directory."); nameDialog.setContentText("File name"); Button btOk = (Button) nameDialog.getDialogPane().lookupButton(ButtonType.OK); TextField textfield = nameDialog.getEditor(); Platform.runLater(() -> textfield.requestFocus()); btOk.setDisable(true); textfield .textProperty() .addListener( ((observable, oldValue, newValue) -> { btOk.setDisable(newValue.trim().isEmpty()); })); Optional<String> result = nameDialog.showAndWait(); result.ifPresent( name -> { name = name.concat(".map"); try { Map finalMap = buildAndSaveMap(map); finalMap.saveMap(name); goBack(primaryStage); } catch (Exception e) { e.printStackTrace(); } }); }); resetButton.setOnMouseClicked( click -> { for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { Component component = map.getAtLocation(new Coordinate(x, y)); if (component instanceof Road || component instanceof Intersection) { addGrass(x, y, map, mapGridGUIDecorator, mapGridPane, grassImgView); } } } }); backButton.setOnMouseClicked( click -> { try { goBack(primaryStage); } catch (Exception e) { e.printStackTrace(); } }); borderPane.setRight(sideComponents); Scene scene = new Scene(borderPane); primaryStage.setScene(scene); primaryStage.centerOnScreen(); primaryStage.setResizable(false); }
public Connexion(final Stage stage) throws Exception { panelTitre.getChildren().add(titre); panelTitre.setAlignment(Pos.CENTER); panelTitre.setMinHeight(50); gridPane.setAlignment(Pos.CENTER); borderCenter.setCenter(gridPane); borderCenter.setMinHeight(100); panelPrincipal.setTop(panelTitre); panelPrincipal.setCenter(borderCenter); titre.setFont(Font.font("Verdana", 40)); FileReader fr = new FileReader(fichierLogin); @SuppressWarnings("resource") BufferedReader br = new BufferedReader(fr); String ligneAdmin = br.readLine(); String ligneUtil = br.readLine(); String[] tabAdmin = ligneAdmin.split(";"); admin.setIdentifiant(tabAdmin[0]); admin.setMotDePasse(tabAdmin[1]); String[] tabUtil = ligneUtil.split(";"); util.setIdentifiant(tabUtil[0]); util.setMotDePasse(tabUtil[1]); panelPrincipal.setPadding(new Insets(10, 50, 50, 50)); gridPane.setPadding(new Insets(7)); gridPane.setHgap(7); gridPane.setVgap(7); lblUserName.setFont(Font.font("Arial", 15)); lblPassword.setFont(Font.font("Arial", 15)); gridPane.add(lblUserName, 0, 0); gridPane.add(txtUserName, 1, 0); gridPane.add(lblPassword, 0, 1); gridPane.add(pf, 1, 1); gridPane.add(btnLogin, 1, 3); gridPane.add(lblMessage, 1, 5); btnLogin.setFont(Font.font(null, 15)); gridPane.setMinWidth(100); btnLogin.setPrefSize(100, 15); btnLogin.setOnAction( new EventHandler<ActionEvent>() { public void handle(ActionEvent event) { checkUser = txtUserName.getText().toString(); checkPw = pf.getText().toString(); if (checkUser.equals(admin.getIdentifiant()) && checkPw.equals(admin.getMotDePasse())) { new EcranGestionStagiaire(stage); } else if (checkUser.equals(util.getIdentifiant()) && checkPw.equals(util.getMotDePasse())) { new EcranAffichageStagiaire(stage); } else { lblMessage.setText("Identifiant ou mot de passe erroné"); lblMessage.setFont(Font.font("Arial", 12)); lblMessage.setTextFill(Color.RED); } txtUserName.setText(""); pf.setText(""); } }); panelPrincipal.setStyle("-fx-background-color: #DCDCDC"); Scene scene = new Scene(panelPrincipal, 800, 550); stage.setTitle("Annuaire des stagiaires"); stage.setScene(scene); stage.show(); }