public Veld2Verkeerstechniek( LeerlingController llnCntrl, SchermController schermCtrl, EvaController evaCtrl) { evaController = evaCtrl; schermController = schermCtrl; llnController = llnCntrl; llnController.getLeerling().addView(this); hoogte = schermController.getHoogte(); breedte = schermController.getBreedte(); mainGP = new GridPane(); // evaSelector eva = new EvaSelector(evaController); // labels kleur = new Button("Kleur kiezen"); venster = new Button("Extra venster"); kleur.setMinSize(120, 30); kleur.setMaxSize(120, 30); venster.setMinSize(120, 30); venster.setMaxSize(120, 30); kleur.setStyle( "-fx-border-color: black; -fx-border-width:1; -fx-border-style: solid; -fx-background-color: WHITE"); kleur.setAlignment(Pos.CENTER); venster.setStyle( "-fx-border-color: black; -fx-border-width:1; -fx-border-style: solid; -fx-background-color: WHITE"); venster.setAlignment(Pos.CENTER); kleur.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { selecteerKleur(); } }); venster.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { selecteerVenster(); } }); labels = new HBox(); labels.setSpacing(15); labels.setTranslateY(-hoogte * 0.75); labels.setTranslateX(20); labels.getChildren().addAll(kleur, venster); // alle afbeeldingen // Links links = new GridPane(); openbareWegImg = new Onderdeel("resource/Verkeerstechniek/openbareWeg", -140, 160, evaController); openbareWegImg.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { Veld2Verkeerstechniek.this.schermController.setScherm( MainApp.VELD2VERKEERSTECHNIEKPLAATS_ID); } }); richtingaanwijzersImg = new Onderdeel("resource/Verkeerstechniek/richtingaanwijzers", 120, 140, evaController); richtingaanwijzersImg.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { Veld2Verkeerstechniek.this.schermController.setScherm( MainApp.VELD2VERKEERSTECHNIEKRICHTINGAANWIJZERS_ID); } }); rechtsafImg = new Onderdeel("resource/Verkeerstechniek/rechtsaf", 220, 160, evaController); rechtsafImg.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { Veld2Verkeerstechniek.this.schermController.setScherm( MainApp.VELD2VERKEERSTECHNIEKRECHTSAF_ID); } }); linksafImg = new Onderdeel("resource/Verkeerstechniek/linksaf", 120, 190, evaController); linksafImg.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { Veld2Verkeerstechniek.this.schermController.setScherm( MainApp.VELD2VERKEERSTECHNIEKLINKSAF_ID); } }); kruisenImg = new Onderdeel("resource/Verkeerstechniek/kruisen", 60, 155, evaController); kruisenImg.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { Veld2Verkeerstechniek.this.schermController.setScherm( MainApp.VELD2VERKEERSTECHNIEKKRUISEN_ID); } }); // Rechts rechts = new GridPane(); voorrangImg = new Onderdeel("resource/Verkeerstechniek/voorrang", -140, 160, evaController); voorrangImg.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { Veld2Verkeerstechniek.this.schermController.setScherm( MainApp.VELD2VERKEERSTECHNIEKVOORRANG_ID); } }); verkeerstekensImg = new Onderdeel("resource/Verkeerstechniek/verkeerstekens", -25, 140, evaController); verkeerstekensImg.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { Veld2Verkeerstechniek.this.schermController.setScherm( MainApp.VELD2VERKEERSTECHNIEKVERKEERSTEKENS_ID); } }); snelheidImg = new Onderdeel("resource/Verkeerstechniek/snelheid", 30, 155, evaController); snelheidImg.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { Veld2Verkeerstechniek.this.schermController.setScherm( MainApp.VELD2VERKEERSTECHNIEKSNELHEID_ID); } }); afstandImg = new Onderdeel("resource/Verkeerstechniek/afstand", -25, 190, evaController); afstandImg.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { Veld2Verkeerstechniek.this.schermController.setScherm( MainApp.VELD2VERKEERSTECHNIEKAFSTAND_ID); } }); inhalenImg = new Onderdeel("resource/Verkeerstechniek/inhalen", 220, 160, evaController); inhalenImg.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { Veld2Verkeerstechniek.this.schermController.setScherm( MainApp.VELD2VERKEERSTECHNIEKINHALEN_ID); } }); // pijlen center pijlen = new Pijlen(evaController, 300); // GridPane links links.add(inhalenImg, 0, 0); links.add(richtingaanwijzersImg, 0, 1); links.add(kruisenImg, 0, 2); links.add(linksafImg, 0, 3); links.add(rechtsafImg, 0, 4); // GridPane rechts rechts.add(voorrangImg, 0, 0); rechts.add(verkeerstekensImg, 0, 1); rechts.add(snelheidImg, 0, 2); rechts.add(afstandImg, 0, 3); rechts.add(openbareWegImg, 0, 4); // opmaak // algemeen mainGP.setHgap(50); // links links.setAlignment(Pos.CENTER); links.setVgap(20); links.setMaxWidth(80); inhalenImg.setFitHeight(80); inhalenImg.setFitWidth(80); inhalenImg.setTranslateX(180); richtingaanwijzersImg.setFitHeight(80); richtingaanwijzersImg.setFitWidth(80); richtingaanwijzersImg.setTranslateX(75); richtingaanwijzersImg.setTranslateY(-30); kruisenImg.setFitHeight(80); kruisenImg.setFitWidth(80); kruisenImg.setTranslateX(10); linksafImg.setFitHeight(80); linksafImg.setFitWidth(80); linksafImg.setTranslateX(75); linksafImg.setTranslateY(30); rechtsafImg.setFitHeight(80); rechtsafImg.setFitWidth(80); rechtsafImg.setTranslateX(180); // rechts rechts.setAlignment(Pos.CENTER); rechts.setVgap(20); rechts.setMaxWidth(80); voorrangImg.setFitHeight(80); voorrangImg.setFitWidth(80); voorrangImg.setTranslateX(-180); verkeerstekensImg.setFitHeight(80); verkeerstekensImg.setFitWidth(80); verkeerstekensImg.setTranslateX(-75); verkeerstekensImg.setTranslateY(-30); snelheidImg.setFitHeight(80); snelheidImg.setFitWidth(80); snelheidImg.setTranslateX(-10); afstandImg.setFitHeight(80); afstandImg.setFitWidth(80); afstandImg.setTranslateX(-75); afstandImg.setTranslateY(30); openbareWegImg.setFitHeight(80); openbareWegImg.setFitWidth(80); openbareWegImg.setTranslateX(-180); // pijlen center pijlen.setAlignment(Pos.CENTER); pijlen.setTranslateY(10); // Exit button exit = new Button("Ga terug"); exit.setTranslateX(50); exit.setTranslateY(75); eva.setTranslateX(-50); eva.setTranslateY(75); // eventhandler exit.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { exitVerkeerstechniek(); } }); exit.setStyle("-fx-background-color: #5F6A95; -fx-text-fill:white"); for (Node c : links.getChildren()) { if (c instanceof Onderdeel) { c.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { KleurKiezerHouder.show(links, (Onderdeel) c); } }); } } for (Node c : rechts.getChildren()) { if (c instanceof Onderdeel) { c.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { KleurKiezerHouder.show(rechts, (Onderdeel) c); } }); } } eva.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { update(); } }); this.setOnMouseClicked( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent e) { update(); } }); // achtergrond achtergrond = new ImageView("resource/Verkeerstechniek/achtergrondVt.png"); achtergrond.setTranslateX(breedte / 2); mainGP.setTranslateX(-breedte * 0.53); mainGP.setTranslateY(5); mainGP.setMinWidth(breedte); mainGP.setMaxWidth(breedte); // Alle Gridpanes toevoegen an hoofd GridPane // volgorde is belangrijk, niet aanpassen! mainGP.add(pijlen, 2, 0); mainGP.add(rechts, 3, 0); mainGP.add(links, 1, 0); mainGP.add(exit, 3, 1); mainGP.add(labels, 2, 1); mainGP.add(eva, 1, 1); mainGP.setAlignment(Pos.CENTER); // mainGP.setStyle("-fx-background-color: #003399"); this.getChildren().add(achtergrond); this.getChildren().add(mainGP); this.setAlignment(Pos.CENTER); selecteerKleur(); update(); }
private void buildGUI() { // Group g = new Group(); // Stage s = new Stage(); // Scene sc = new Scene(g,500,300); // s.setScene(sc); // s.show(); // BorderPane backPanel = new BorderPane(); imagePanel = new ImagePanel(width, height); // backPanel.setCenter(i); g.getChildren().add(imagePanel); Button b1 = new Button(); b1.setText("Save"); b1.setTranslateX(200); b1.setTranslateY(400); g.getChildren().add(b1); b1.setOnMouseClicked( new EventHandler<Event>() { @Override public void handle(Event arg0) { // TODO Auto-generated method stub WritableImage wi = new WritableImage(width, height); sc.snapshot(wi); File f = new File("g.jpg"); postMessage("The picture has been saved!"); try { ImageIO.write(SwingFXUtils.fromFXImage(wi, null), "png", f); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); postMessage("Error!" + e.getMessage()); } } }); b2 = new Button(); b2.setText("Draw"); b2.setTranslateX(100); b2.setTranslateY(400); g.getChildren().add(b2); b2.setOnMouseClicked( new EventHandler<Event>() { @Override public void handle(Event arg0) { // TODO Auto-generated method stub // l = new Reader.readline(); } }); Button b3 = new Button(); b3.setText("Exit"); b3.setTranslateX(300); b3.setTranslateY(400); g.getChildren().add(b3); b3.setOnMouseClicked( new EventHandler<MouseEvent>() { public void handle(MouseEvent arg0) { // TODO Auto-generated method stub System.exit(0); } }); messageView = new TextArea(); messageView.setTranslateX(10); messageView.setTranslateY(450); g.getChildren().add(messageView); }
@Override public void start(Stage primaryStage) { importer = new DataImporter(); mainStage = primaryStage; Button btn1 = new Button(); btn1.setText("Import US Price Data"); btn1.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { chooseFile(); } }); Button btn2 = new Button(); btn2.setText("Import CAD Price Data"); btn2.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { // File cadPrices = chooseFile(); File cadPrices = new File("Prices_CAD.csv"); CSVParser records = null; try { records = importer.importCsv(cadPrices); } catch (IOException e) { e.printStackTrace(); } importer.importPrices(records, Stock.Classifications.CAD.toString()); } }); Button btn3 = new Button(); btn3.setText("Import ADR Price Data"); btn3.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { chooseFile(); } }); Button btn4 = new Button(); btn4.setText("Import Price Index Data"); btn4.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { chooseFile(); } }); StackPane root = new StackPane(); Image icon = new Image(getClass().getResourceAsStream("scotiaframe.png")); mainStage.getIcons().add(icon); btn1.setTranslateY(-75); btn2.setTranslateY(-25); btn3.setTranslateY(25); btn4.setTranslateY(75); root.getChildren().add(btn1); root.getChildren().add(btn2); root.getChildren().add(btn3); root.getChildren().add(btn4); double width = 400; double height = 300; Scene scene = new Scene(root, width, height); primaryStage.setMinWidth(width); primaryStage.setMinHeight(height); primaryStage.setTitle("Moore Wealth Management"); primaryStage.setScene(scene); primaryStage.show(); }
@Override public void start(Stage primaryStage) { // Create four buttons, for each of the read/writing ways. Button btnTextNoBuffer = new Button(); btnTextNoBuffer.setText("Save and load to text file, no buffer."); Button btnTextWithBuffer = new Button(); btnTextWithBuffer.setText("Save and load to text file, with buffer."); Button btnBinaryNoBuffer = new Button(); btnBinaryNoBuffer.setText("Save and load to Mapped file."); Button btnBinaryWithBuffer = new Button(); btnBinaryWithBuffer.setText("Save and load to binary file, with buffer."); // Textfield to enter the number of edges + label TextField nrOfEdges = new TextField(); Label lbl = new Label(); lbl.setText("Enter your desired level."); // Label to present the read/write time. Label speed = new Label(); speed.setText("The write speed will be shown here."); // New canvas kochPanel = new Canvas(kpWidth, kpHeight); kochPanel.setTranslateX(100); // position the elements btnTextNoBuffer.setTranslateY(-80); btnTextWithBuffer.setTranslateY(-40); btnBinaryWithBuffer.setTranslateY(40); btnTextNoBuffer.setTranslateX(-240); btnTextWithBuffer.setTranslateX(-240); btnBinaryNoBuffer.setTranslateX(-240); btnBinaryWithBuffer.setTranslateX(-240); nrOfEdges.setTranslateY(-220); nrOfEdges.setTranslateX(-310); nrOfEdges.setMaxWidth(50); lbl.setTranslateX(-240); lbl.setTranslateY(-200); speed.setTranslateY(-240); StackPane root = new StackPane(); // root.getChildren().add(btnTextNoBuffer); // root.getChildren().add(btnTextWithBuffer); root.getChildren().add(btnBinaryNoBuffer); // root.getChildren().add(btnBinaryWithBuffer); // root.getChildren().add(nrOfEdges); // root.getChildren().add(lbl); root.getChildren().add(kochPanel); root.getChildren().add(speed); Scene scene = new Scene(root, 700, 500); primaryStage.setTitle("Edges and stuff"); primaryStage.setScene(scene); primaryStage.show(); // Event handlers for buttons // btnTextNoBuffer.setOnMouseClicked(event -> { // int i = Integer.parseInt(nrOfEdges.getText()); // currentLevel = i; // clearKochPanel(); // createKochFractal(i); // double x = 0; // try { // x = saveTextFileNoBuffer(); // } catch (IOException e) { // e.printStackTrace(); // } // speed.setText(String.valueOf((x / 1000000))); // //drawAllEdges(); // }); // btnTextWithBuffer.setOnMouseClicked(event -> { // int i = Integer.parseInt(nrOfEdges.getText()); // currentLevel = i; // clearKochPanel(); // createKochFractal(i); // double x = 0; // try { // x = saveTextFileWithBuffer(); // } // catch (Exception ex) // { // ex.printStackTrace(); // } // speed.setText(String.valueOf(x / 1000000)); // //drawAllEdges(); // }); btnBinaryNoBuffer.setOnMouseClicked( event -> { // int i = Integer.parseInt(nrOfEdges.getText()); // currentLevel = i; // if (i > 10) // { // speed.setText("Too high of a level count!"); // throw new UnsupportedOperationException(); // } clearKochPanel(); // createKochFractal(i); double x = 0; try { x = loadBinaryFile(); } catch (Exception e) { e.printStackTrace(); } speed.setText(String.valueOf(x / 1000000)); // drawAllEdges(); }); btnBinaryWithBuffer.setOnMouseClicked( event -> { int i = Integer.parseInt(nrOfEdges.getText()); currentLevel = i; clearKochPanel(); createKochFractal(i); double x = 0; try { x = saveBinaryFileWithBuffer(); } catch (Exception e) { e.printStackTrace(); } speed.setText(String.valueOf(x / 1000000)); }); Thread t = new Thread() { public void run() { watchForNewEdges(); } }; t.start(); }
@Override public void start(Stage primaryStage) { try { screen = primaryStage; screen.setOnCloseRequest( e -> { engine.interrupt(); }); lives = new SimpleDoubleProperty(1); lives.addListener( e -> { if (lives.get() == 0) { engine.interrupt(); newGame.setText("Start new game"); changeScene(); } }); logo = new Image(getClass().getResourceAsStream("logo.png"), 256, 256, true, true); logoView = new ImageView(logo); menu = new StackPane(logoView); livesText = new Text(String.valueOf((int) lives.get())); slowDownsText = new Text(String.valueOf(slowDownCount)); score = new Text("Score"); scorePoints = new Text(String.valueOf(points)); livesText.setFill(Color.BEIGE); slowDownsText.setFill(Color.BEIGE); score.setFill(Color.BEIGE); scorePoints.setFill(Color.BEIGE); live = new Image(getClass().getResourceAsStream("live.png")); slowDown = new Image(getClass().getResourceAsStream("slowdown.png")); spotView = new ImageView(new Image(getClass().getResourceAsStream("spot.png"))); liveView = new ImageView(live); slowDownView = new ImageView(slowDown); liveCounterView = new ImageView(live); slowDownCounterView = new ImageView(slowDown); spotView.setVisible(false); liveView.setVisible(false); slowDownView.setVisible(false); spotView.setOnMouseClicked( e -> { spotView.setVisible(false); clicked = true; points++; if (time > 400) { time -= 20; } scorePoints.setText(String.valueOf(points * 10)); }); liveView.setOnMouseClicked( e -> { liveView.setVisible(false); clicked = true; points++; lives.set(lives.get() + 1); livesText.setText(String.valueOf((int) lives.get())); scorePoints.setText(String.valueOf(points * 10)); }); slowDownView.setOnMouseClicked( e -> { slowDownView.setVisible(false); clicked = true; points++; slowDownCount++; slowDownsText.setText(String.valueOf(slowDownCount)); scorePoints.setText(String.valueOf(points * 10)); }); slowDownCounterView.setOnMouseClicked( e -> { if (slowDownCount > 0) { slowDownCount--; slowDownsText.setText(String.valueOf(slowDownCount)); time += 150; } }); Separator sepOne = new Separator(Orientation.VERTICAL); sepOne.setOpacity(0.1); Separator sepTwo = new Separator(Orientation.VERTICAL); sepTwo.setOpacity(0.1); HBox header = new HBox( 5, liveCounterView, livesText, sepOne, slowDownCounterView, slowDownsText, sepTwo, score, scorePoints); header.setAlignment(Pos.CENTER_LEFT); header.setStyle( "-fx-background-color:linear-gradient(#242424 50%, #2D2D2D 75%, #3C3C3C 100%);"); header.setPadding(new Insets(3, 1, 3, 1)); playField = new StackPane(spotView, liveView, slowDownView); playField.setAlignment(Pos.TOP_LEFT); playField.setStyle( "-fx-background-color: linear-gradient(#9d9e9d 5%, #6b6a6b 20%, #343534 80%, #242424 100%);"); root = new BorderPane(playField, header, null, null, null); root.setStyle("-fx-border-color: #13BFF8"); playScene = new Scene(root, 300, 500); newGame = new Button("Start"); newGame.setStyle( "-fx-background-color: linear-gradient(TRANSPARENT 50%, #FFFFFF 100%); -fx-text-fill: #FFFFFF; -fx-min-width: 128px;"); newGame.setOnMouseEntered( e -> newGame.setStyle( "-fx-background-color: linear-gradient(TRANSPARENT 10%, #FFFFFF 100%); -fx-text-fill: #FFFFFF; -fx-min-width: 128px;")); newGame.setOnMouseExited( e -> newGame.setStyle( "-fx-background-color: linear-gradient(TRANSPARENT 50%, #FFFFFF 100%); -fx-text-fill: #FFFFFF; -fx-min-width: 128px;")); newGame.setTranslateY(80); newGame.setOnMouseClicked( e -> { points = 0; time = 1500; clicked = false; slowDownCount = 0; lives.set(1); livesText.setText(String.valueOf((int) lives.get())); screen.setScene(playScene); engine = new Engine(this); engine.start(); }); menu.getChildren().add(newGame); menuScene = new Scene(menu, 256, 256); menu.setStyle( "-fx-background-color: linear-gradient(#9d9e9d 5%, #6b6a6b 20%, #343534 80%, #242424 100%); -fx-border-color: #13BFF8;"); primaryStage.setScene(menuScene); primaryStage.setResizable(false); primaryStage.initStyle(StageStyle.UNDECORATED); primaryStage.show(); } catch (Exception e) { e.printStackTrace(); } }
@Override public void start(Stage stage) { // stage.initStyle(StageStyle.UNDECORATED); stage.setTitle("Hello Image Clipboard"); Scene scene = new Scene(new Group(), 1024, 768); scene.setFill(Color.LIGHTGREEN); Rectangle overlay = new Rectangle(); overlay.setWidth(800); overlay.setHeight(600); overlay.setFill(Color.TRANSPARENT); EventHandler<DragEvent> drop = de -> checkBoard(de.getDragboard(), de); EventHandler<DragEvent> enter = de -> { if (de != null && de.getDragboard() != null && de.getDragboard().hasImage()) { de.acceptTransferModes(TransferMode.ANY); } }; EventHandler<DragEvent> dragged = de -> { if (de != null && de.getDragboard() != null && de.getDragboard().hasImage()) { de.acceptTransferModes(TransferMode.ANY); } }; overlay.setOnDragDropped(drop); overlay.setOnDragEntered(enter); overlay.setOnDragOver(dragged); clearBtn = new Button("Clear"); clearBtn.setTranslateX(50); clearBtn.setTranslateY(30); copyBtn = new Button("Copy"); copyBtn.setTranslateX(125); copyBtn.setTranslateY(30); pasteBtn = new Button("Paste"); pasteBtn.setTranslateX(200); pasteBtn.setTranslateY(30); clearBtn.setOnAction(e -> clear()); copyBtn.setOnAction( e -> { ClipboardContent content = new ClipboardContent(); content.putImage(imageView.getImage()); Clipboard.getSystemClipboard().setContent(content); }); pasteBtn.setOnAction(e -> checkBoard(Clipboard.getSystemClipboard(), null)); Group root = (Group) scene.getRoot(); root.getChildren().add(overlay); root.getChildren().add(imageView); root.getChildren().add(clearBtn); root.getChildren().add(copyBtn); root.getChildren().add(pasteBtn); stage.setScene(scene); stage.show(); }