Compare commits
	
		
			16 Commits
		
	
	
		
			Rapport
			...
			MenuProtot
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 56ed89d668 | |||
| a273e7736a | |||
| d5db1b14af | |||
| 
						
						
							
						
						37cc19f49a
	
				 | 
					
					
						|||
| 
						
						
							
						
						a6fc46a0ea
	
				 | 
					
					
						|||
| 78e50549d0 | |||
| d4f254139c | |||
| fbbda476b4 | |||
| 70fef807d5 | |||
| 90f25b1c26 | |||
| 5bfb2aba9b | |||
| a99a53868b | |||
| bb5e2ff401 | |||
| 895b20b680 | |||
| 5911d88918 | |||
| 49d2c5d7ab | 
@ -1,32 +1,222 @@
 | 
			
		||||
/*
 | 
			
		||||
 * This Java source file was generated by the Gradle 'init' task.
 | 
			
		||||
 */
 | 
			
		||||
package school_project;
 | 
			
		||||
 | 
			
		||||
package school_project;  
 | 
			
		||||
import javafx.application.Application;
 | 
			
		||||
import javafx.scene.Node;
 | 
			
		||||
import javafx.event.EventHandler;
 | 
			
		||||
import javafx.scene.Group;
 | 
			
		||||
import javafx.scene.Scene;
 | 
			
		||||
import javafx.scene.control.Button;
 | 
			
		||||
import javafx.scene.Cursor;
 | 
			
		||||
import javafx.scene.input.KeyEvent;
 | 
			
		||||
import javafx.scene.input.MouseEvent;
 | 
			
		||||
import javafx.scene.paint.Color;  
 | 
			
		||||
import javafx.scene.shape.Polygon;
 | 
			
		||||
import javafx.scene.transform.Rotate;
 | 
			
		||||
import javafx.animation.RotateTransition;
 | 
			
		||||
import javafx.stage.Stage;
 | 
			
		||||
import javafx.util.Duration;
 | 
			
		||||
public class Controller extends Application{
 | 
			
		||||
	
 | 
			
		||||
	double x;
 | 
			
		||||
	double y;
 | 
			
		||||
	
 | 
			
		||||
	 
 | 
			
		||||
	public void start(Stage primaryStage) throws Exception {
 | 
			
		||||
		
 | 
			
		||||
		Polygon piece1 = new Polygon();
 | 
			
		||||
		Polygon piece2 = new Polygon();
 | 
			
		||||
		Polygon piece3 = new Polygon();
 | 
			
		||||
		Polygon piece4 = new Polygon();
 | 
			
		||||
		Polygon piece5 = new Polygon();
 | 
			
		||||
		Polygon piece6 = new Polygon();
 | 
			
		||||
		Polygon piece7 = new Polygon();
 | 
			
		||||
 | 
			
		||||
public class Controller extends Application {
 | 
			
		||||
		
 | 
			
		||||
		
 | 
			
		||||
		 piece1.getPoints().addAll(new Double [] {
 | 
			
		||||
				 0.0,0.0,
 | 
			
		||||
				 200.0,0.0,
 | 
			
		||||
				 200.0,200.0,
 | 
			
		||||
				 100.0,200.0,
 | 
			
		||||
				 100.0,100.0,
 | 
			
		||||
				 0.0,100.0});
 | 
			
		||||
		 
 | 
			
		||||
		 piece2.getPoints().addAll(new Double [] {
 | 
			
		||||
				 100.0,0.0,
 | 
			
		||||
				 200.0,0.0,
 | 
			
		||||
				 200.0,300.0,
 | 
			
		||||
				 100.0,300.0,
 | 
			
		||||
				 });
 | 
			
		||||
		 
 | 
			
		||||
		 piece3.getPoints().addAll(new Double [] {
 | 
			
		||||
				 0.0,0.0,
 | 
			
		||||
				 200.0,0.0,
 | 
			
		||||
				 200.0,200.0,
 | 
			
		||||
				 0.0,200.0,
 | 
			
		||||
				 });
 | 
			
		||||
		 
 | 
			
		||||
		 piece4.getPoints().addAll(new Double [] {
 | 
			
		||||
				 0.0,0.0,
 | 
			
		||||
				 200.0,0.0,
 | 
			
		||||
				 200.0,300.0,
 | 
			
		||||
				 0.0,300.0,
 | 
			
		||||
				 
 | 
			
		||||
		 });
 | 
			
		||||
		 
 | 
			
		||||
		 piece5.getPoints().addAll(new Double [] {
 | 
			
		||||
				 0.0,0.0,
 | 
			
		||||
				 100.0,0.0,
 | 
			
		||||
				 100.0,100.0,
 | 
			
		||||
				 0.0,100.0,
 | 
			
		||||
				 });
 | 
			
		||||
		 
 | 
			
		||||
		 piece6.getPoints().addAll(new Double [] {
 | 
			
		||||
				 0.0,0.0,
 | 
			
		||||
				 200.0,0.0,
 | 
			
		||||
				 200.0,300.0,
 | 
			
		||||
				 100.0,300.0,
 | 
			
		||||
				 100.0,100.0,
 | 
			
		||||
				 0.0,100.0});
 | 
			
		||||
		 
 | 
			
		||||
		 piece7.getPoints().addAll(new Double [] {
 | 
			
		||||
				 100.0,0.0,
 | 
			
		||||
				 200.0,0.0,
 | 
			
		||||
				 200.0,200.0,
 | 
			
		||||
				 100.0,200.0,
 | 
			
		||||
				 });
 | 
			
		||||
		
 | 
			
		||||
		 /*for(int i ; i<tab.lenght ; i++ ) {
 | 
			
		||||
			for (int j , i<tab.widnth , j++) {
 | 
			
		||||
				
 | 
			
		||||
				if (tab[0][0]==TRUE;) {
 | 
			
		||||
					if(tab[
 | 
			
		||||
				
 | 
			
		||||
					
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}*/
 | 
			
		||||
		
 | 
			
		||||
		
 | 
			
		||||
	
 | 
			
		||||
		 Group root = new Group();  
 | 
			
		||||
	        root.getChildren().addAll(piece2,piece1,piece3,piece4,piece5,piece6,piece7/*,....,pieceN*/);  
 | 
			
		||||
	        Scene scene = new Scene(root,690,650,Color.WHEAT);  
 | 
			
		||||
	        root.getChildren().forEach(n -> makeDraggable((Polygon) n));
 | 
			
		||||
	        root.getChildren().forEach(n -> rotation((Polygon) n, scene));
 | 
			
		||||
	        primaryStage.setScene(scene);  
 | 
			
		||||
	        primaryStage.setTitle("piece 1"); 
 | 
			
		||||
	        
 | 
			
		||||
	        primaryStage.show(); 
 | 
			
		||||
		
 | 
			
		||||
		
 | 
			
		||||
		 
 | 
			
		||||
		 piece1.setFill(Color.LIMEGREEN);
 | 
			
		||||
		 piece1.setStroke(Color.BLACK);
 | 
			
		||||
		 piece1.setStrokeWidth(3);
 | 
			
		||||
		 
 | 
			
		||||
		 piece2.setFill(Color.LIMEGREEN);
 | 
			
		||||
		 piece2.setStroke(Color.BLACK);
 | 
			
		||||
		 piece2.setStrokeWidth(3);
 | 
			
		||||
		 
 | 
			
		||||
		 piece3.setFill(Color.LIMEGREEN);
 | 
			
		||||
		 piece3.setStroke(Color.BLACK);
 | 
			
		||||
		 piece3.setStrokeWidth(3);
 | 
			
		||||
		 
 | 
			
		||||
		 piece4.setFill(Color.LIMEGREEN);
 | 
			
		||||
		 piece4.setStroke(Color.BLACK);
 | 
			
		||||
		 piece4.setStrokeWidth(3);
 | 
			
		||||
		 
 | 
			
		||||
		 piece5.setFill(Color.LIMEGREEN);
 | 
			
		||||
		 piece5.setStroke(Color.BLACK);
 | 
			
		||||
		 piece5.setStrokeWidth(3);
 | 
			
		||||
		 
 | 
			
		||||
		 piece6.setFill(Color.LIMEGREEN);
 | 
			
		||||
		 piece6.setStroke(Color.BLACK);
 | 
			
		||||
		 piece6.setStrokeWidth(3);
 | 
			
		||||
		 
 | 
			
		||||
		 piece7.setFill(Color.LIMEGREEN);
 | 
			
		||||
		 piece7.setStroke(Color.BLACK);
 | 
			
		||||
		 piece7.setStrokeWidth(3);
 | 
			
		||||
		 		 
 | 
			
		||||
		
 | 
			
		||||
	}
 | 
			
		||||
	//double click delayed bug to fix
 | 
			
		||||
	//ftm just the last piece implemented can be rotated 
 | 
			
		||||
	public static void rotaterght (Node node) {
 | 
			
		||||
		 RotateTransition rotaterght = new RotateTransition();
 | 
			
		||||
			//setting attributes for the RotateTransition  
 | 
			
		||||
			 rotaterght.setByAngle(90);
 | 
			
		||||
			 rotaterght.autoReverseProperty();
 | 
			
		||||
			 rotaterght.setDuration(Duration.millis(1000));
 | 
			
		||||
			 rotaterght.setNode(node);
 | 
			
		||||
			 rotaterght.setAxis(Rotate.Z_AXIS);
 | 
			
		||||
			 rotaterght.play();}
 | 
			
		||||
	 
 | 
			
		||||
	 public static void rotatelft (Node node) {	 
 | 
			
		||||
			
 | 
			
		||||
			 RotateTransition rotatelft = new RotateTransition();
 | 
			
		||||
			 
 | 
			
		||||
			 rotatelft.setByAngle(-90);// minus to rotate to the left
 | 
			
		||||
			 rotatelft.autoReverseProperty();
 | 
			
		||||
			 rotatelft.setDuration(Duration.millis(1000));
 | 
			
		||||
			 rotatelft.setNode(node);
 | 
			
		||||
			 rotatelft.setAxis(Rotate.Z_AXIS);
 | 
			
		||||
			 rotatelft.play();}
 | 
			
		||||
	 
 | 
			
		||||
	 public void rotation (Polygon node, Scene scene) {
 | 
			
		||||
		  scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
 | 
			
		||||
			 public void handle(KeyEvent event) {// 'event' means corresponds to clicking on the clipboard
 | 
			
		||||
				 switch (event.getCode()) {// 'getCode' gets the code of the key pressed on the clipboard
 | 
			
		||||
				 case RIGHT: rotaterght(node);   break;
 | 
			
		||||
				 //args to set 
 | 
			
		||||
				 case LEFT: rotatelft(node);  break;
 | 
			
		||||
				 default: System.out.println("this case hasn't been taken in charge yet");
 | 
			
		||||
				 
 | 
			
		||||
				 }
 | 
			
		||||
			 }
 | 
			
		||||
	  });
 | 
			
		||||
	  }
 | 
			
		||||
			  
 | 
			
		||||
	 
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void start(Stage primaryStage) throws Exception {
 | 
			
		||||
        primaryStage.setTitle("test");
 | 
			
		||||
        Button btn = new Button("test");
 | 
			
		||||
        btn.setOnAction(event -> System.out.println("hey"));
 | 
			
		||||
	  public void makeDraggable(Polygon node) {
 | 
			
		||||
		 	node.setOnMousePressed(new EventHandler<MouseEvent>() {
 | 
			
		||||
			  @Override public void handle(MouseEvent mouseEvent) {
 | 
			
		||||
			    // record a (x,y) distance for the drag and drop operation.
 | 
			
		||||
			    x = node.getLayoutX() - mouseEvent.getSceneX();
 | 
			
		||||
			    y = node.getLayoutY() - mouseEvent.getSceneY();
 | 
			
		||||
			    node.requestFocus();
 | 
			
		||||
			    node.setFocusTraversable(true);
 | 
			
		||||
			    node.focusedProperty();
 | 
			
		||||
			    node.focusVisibleProperty();
 | 
			
		||||
			    /*node.setFocused(true);*/
 | 
			
		||||
			    node.setCursor(Cursor.CLOSED_HAND);
 | 
			
		||||
			    node.setFill(Color.AZURE);
 | 
			
		||||
			  }
 | 
			
		||||
			});
 | 
			
		||||
		 
 | 
			
		||||
			node.setOnMouseReleased(new EventHandler<MouseEvent>() {
 | 
			
		||||
			  @Override public void handle(MouseEvent mouseEvent) {
 | 
			
		||||
			    node.setCursor(Cursor.HAND);
 | 
			
		||||
			    node.setFill(Color.LIMEGREEN);
 | 
			
		||||
			  }
 | 
			
		||||
			});
 | 
			
		||||
			
 | 
			
		||||
			node.setOnMouseDragged(new EventHandler<MouseEvent>() {
 | 
			
		||||
			  @Override public void handle(MouseEvent mouseEvent) {
 | 
			
		||||
			    node.setLayoutX(mouseEvent.getSceneX() + x);
 | 
			
		||||
			    node.setLayoutY(mouseEvent.getSceneY() + y);
 | 
			
		||||
			  }
 | 
			
		||||
			});
 | 
			
		||||
			
 | 
			
		||||
			node.setOnMouseEntered(new EventHandler<MouseEvent>() {
 | 
			
		||||
			  @Override public void handle(MouseEvent mouseEvent) {
 | 
			
		||||
			    node.setCursor(Cursor.HAND);
 | 
			
		||||
			  }
 | 
			
		||||
			});
 | 
			
		||||
			
 | 
			
		||||
		 }
 | 
			
		||||
 | 
			
		||||
        Group root = new Group();
 | 
			
		||||
        root.getChildren().add(btn);
 | 
			
		||||
 | 
			
		||||
        Scene scene = new Scene(root, 300,300);
 | 
			
		||||
        primaryStage.setScene(scene);
 | 
			
		||||
 | 
			
		||||
        primaryStage.show();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static void main(String[] args) {
 | 
			
		||||
       launch();
 | 
			
		||||
	
 | 
			
		||||
	public static void main(String[] args) {  
 | 
			
		||||
        launch(args);  
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										24
									
								
								app/src/main/java/school_project/Menu.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								app/src/main/java/school_project/Menu.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
package school_project;
 | 
			
		||||
 | 
			
		||||
import javafx.application.Application;
 | 
			
		||||
import javafx.scene.Scene;
 | 
			
		||||
import javafx.scene.layout.BorderPane;
 | 
			
		||||
import javafx.stage.Stage;
 | 
			
		||||
 | 
			
		||||
public class Menu extends Application {
 | 
			
		||||
 | 
			
		||||
    public static void main(String[] args) {
 | 
			
		||||
        launch(args);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void start(Stage primaryStage) {
 | 
			
		||||
        //set up the page
 | 
			
		||||
        BorderPane root = new BorderPane();
 | 
			
		||||
        Scene scene = new Scene(root,300,200);
 | 
			
		||||
        primaryStage.setScene(scene);
 | 
			
		||||
        primaryStage.show();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										42
									
								
								prototypes/demo/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								prototypes/demo/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,42 @@
 | 
			
		||||
.gradle
 | 
			
		||||
build/
 | 
			
		||||
!gradle/wrapper/gradle-wrapper.jar
 | 
			
		||||
!**/src/main/**/build/
 | 
			
		||||
!**/src/test/**/build/
 | 
			
		||||
 | 
			
		||||
### IntelliJ IDEA ###
 | 
			
		||||
.idea/modules.xml
 | 
			
		||||
.idea/jarRepositories.xml
 | 
			
		||||
.idea/compiler.xml
 | 
			
		||||
.idea/libraries/
 | 
			
		||||
*.iws
 | 
			
		||||
*.iml
 | 
			
		||||
*.ipr
 | 
			
		||||
out/
 | 
			
		||||
!**/src/main/**/out/
 | 
			
		||||
!**/src/test/**/out/
 | 
			
		||||
 | 
			
		||||
### Eclipse ###
 | 
			
		||||
.apt_generated
 | 
			
		||||
.classpath
 | 
			
		||||
.factorypath
 | 
			
		||||
.project
 | 
			
		||||
.settings
 | 
			
		||||
.springBeans
 | 
			
		||||
.sts4-cache
 | 
			
		||||
bin/
 | 
			
		||||
!**/src/main/**/bin/
 | 
			
		||||
!**/src/test/**/bin/
 | 
			
		||||
 | 
			
		||||
### NetBeans ###
 | 
			
		||||
/nbproject/private/
 | 
			
		||||
/nbbuild/
 | 
			
		||||
/dist/
 | 
			
		||||
/nbdist/
 | 
			
		||||
/.nb-gradle/
 | 
			
		||||
 | 
			
		||||
### VS Code ###
 | 
			
		||||
.vscode/
 | 
			
		||||
 | 
			
		||||
### Mac OS ###
 | 
			
		||||
.DS_Store
 | 
			
		||||
							
								
								
									
										57
									
								
								prototypes/demo/build.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								prototypes/demo/build.gradle
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,57 @@
 | 
			
		||||
plugins {
 | 
			
		||||
    id 'java'
 | 
			
		||||
    id 'application'
 | 
			
		||||
    id 'org.javamodularity.moduleplugin' version '1.8.12'
 | 
			
		||||
    id 'org.openjfx.javafxplugin' version '0.0.13'
 | 
			
		||||
    id 'org.beryx.jlink' version '2.25.0'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group 'com.example'
 | 
			
		||||
version '1.0-SNAPSHOT'
 | 
			
		||||
 | 
			
		||||
repositories {
 | 
			
		||||
    mavenCentral()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ext {
 | 
			
		||||
    junitVersion = '5.9.1'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sourceCompatibility = '17'
 | 
			
		||||
targetCompatibility = '17'
 | 
			
		||||
 | 
			
		||||
tasks.withType(JavaCompile) {
 | 
			
		||||
    options.encoding = 'UTF-8'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
application {
 | 
			
		||||
    mainModule = 'com.example.demo'
 | 
			
		||||
    mainClass = 'com.example.demo.HelloApplication'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
javafx {
 | 
			
		||||
    version = '17.0.2'
 | 
			
		||||
    modules = ['javafx.controls', 'javafx.fxml']
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
 | 
			
		||||
    testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}")
 | 
			
		||||
    testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
test {
 | 
			
		||||
    useJUnitPlatform()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
jlink {
 | 
			
		||||
    imageZip = project.file("${buildDir}/distributions/app-${javafx.platform.classifier}.zip")
 | 
			
		||||
    options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
 | 
			
		||||
    launcher {
 | 
			
		||||
        name = 'app'
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
jlinkZip {
 | 
			
		||||
    group = 'distribution'
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								prototypes/demo/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								prototypes/demo/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										5
									
								
								prototypes/demo/gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								prototypes/demo/gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
distributionBase=GRADLE_USER_HOME
 | 
			
		||||
distributionPath=wrapper/dists
 | 
			
		||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
 | 
			
		||||
zipStoreBase=GRADLE_USER_HOME
 | 
			
		||||
zipStorePath=wrapper/dists
 | 
			
		||||
							
								
								
									
										234
									
								
								prototypes/demo/gradlew
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										234
									
								
								prototypes/demo/gradlew
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,234 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Copyright © 2015-2021 the original authors.
 | 
			
		||||
#
 | 
			
		||||
# Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
# you may not use this file except in compliance with the License.
 | 
			
		||||
# You may obtain a copy of the License at
 | 
			
		||||
#
 | 
			
		||||
#      https://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
#
 | 
			
		||||
# Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
# distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
# See the License for the specific language governing permissions and
 | 
			
		||||
# limitations under the License.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
##############################################################################
 | 
			
		||||
#
 | 
			
		||||
#   Gradle start up script for POSIX generated by Gradle.
 | 
			
		||||
#
 | 
			
		||||
#   Important for running:
 | 
			
		||||
#
 | 
			
		||||
#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
 | 
			
		||||
#       noncompliant, but you have some other compliant shell such as ksh or
 | 
			
		||||
#       bash, then to run this script, type that shell name before the whole
 | 
			
		||||
#       command line, like:
 | 
			
		||||
#
 | 
			
		||||
#           ksh Gradle
 | 
			
		||||
#
 | 
			
		||||
#       Busybox and similar reduced shells will NOT work, because this script
 | 
			
		||||
#       requires all of these POSIX shell features:
 | 
			
		||||
#         * functions;
 | 
			
		||||
#         * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
 | 
			
		||||
#           «${var#prefix}», «${var%suffix}», and «$( cmd )»;
 | 
			
		||||
#         * compound commands having a testable exit status, especially «case»;
 | 
			
		||||
#         * various built-in commands including «command», «set», and «ulimit».
 | 
			
		||||
#
 | 
			
		||||
#   Important for patching:
 | 
			
		||||
#
 | 
			
		||||
#   (2) This script targets any POSIX shell, so it avoids extensions provided
 | 
			
		||||
#       by Bash, Ksh, etc; in particular arrays are avoided.
 | 
			
		||||
#
 | 
			
		||||
#       The "traditional" practice of packing multiple parameters into a
 | 
			
		||||
#       space-separated string is a well documented source of bugs and security
 | 
			
		||||
#       problems, so this is (mostly) avoided, by progressively accumulating
 | 
			
		||||
#       options in "$@", and eventually passing that to Java.
 | 
			
		||||
#
 | 
			
		||||
#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
 | 
			
		||||
#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
 | 
			
		||||
#       see the in-line comments for details.
 | 
			
		||||
#
 | 
			
		||||
#       There are tweaks for specific operating systems such as AIX, CygWin,
 | 
			
		||||
#       Darwin, MinGW, and NonStop.
 | 
			
		||||
#
 | 
			
		||||
#   (3) This script is generated from the Groovy template
 | 
			
		||||
#       https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
 | 
			
		||||
#       within the Gradle project.
 | 
			
		||||
#
 | 
			
		||||
#       You can find Gradle at https://github.com/gradle/gradle/.
 | 
			
		||||
#
 | 
			
		||||
##############################################################################
 | 
			
		||||
 | 
			
		||||
# Attempt to set APP_HOME
 | 
			
		||||
 | 
			
		||||
# Resolve links: $0 may be a link
 | 
			
		||||
app_path=$0
 | 
			
		||||
 | 
			
		||||
# Need this for daisy-chained symlinks.
 | 
			
		||||
while
 | 
			
		||||
    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no leading path
 | 
			
		||||
    [ -h "$app_path" ]
 | 
			
		||||
do
 | 
			
		||||
    ls=$( ls -ld "$app_path" )
 | 
			
		||||
    link=${ls#*' -> '}
 | 
			
		||||
    case $link in             #(
 | 
			
		||||
      /*)   app_path=$link ;; #(
 | 
			
		||||
      *)    app_path=$APP_HOME$link ;;
 | 
			
		||||
    esac
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
 | 
			
		||||
 | 
			
		||||
APP_NAME="Gradle"
 | 
			
		||||
APP_BASE_NAME=${0##*/}
 | 
			
		||||
 | 
			
		||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
 | 
			
		||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
 | 
			
		||||
 | 
			
		||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
 | 
			
		||||
MAX_FD=maximum
 | 
			
		||||
 | 
			
		||||
warn () {
 | 
			
		||||
    echo "$*"
 | 
			
		||||
} >&2
 | 
			
		||||
 | 
			
		||||
die () {
 | 
			
		||||
    echo
 | 
			
		||||
    echo "$*"
 | 
			
		||||
    echo
 | 
			
		||||
    exit 1
 | 
			
		||||
} >&2
 | 
			
		||||
 | 
			
		||||
# OS specific support (must be 'true' or 'false').
 | 
			
		||||
cygwin=false
 | 
			
		||||
msys=false
 | 
			
		||||
darwin=false
 | 
			
		||||
nonstop=false
 | 
			
		||||
case "$( uname )" in                #(
 | 
			
		||||
  CYGWIN* )         cygwin=true  ;; #(
 | 
			
		||||
  Darwin* )         darwin=true  ;; #(
 | 
			
		||||
  MSYS* | MINGW* )  msys=true    ;; #(
 | 
			
		||||
  NONSTOP* )        nonstop=true ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Determine the Java command to use to start the JVM.
 | 
			
		||||
if [ -n "$JAVA_HOME" ] ; then
 | 
			
		||||
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
 | 
			
		||||
        # IBM's JDK on AIX uses strange locations for the executables
 | 
			
		||||
        JAVACMD=$JAVA_HOME/jre/sh/java
 | 
			
		||||
    else
 | 
			
		||||
        JAVACMD=$JAVA_HOME/bin/java
 | 
			
		||||
    fi
 | 
			
		||||
    if [ ! -x "$JAVACMD" ] ; then
 | 
			
		||||
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
 | 
			
		||||
 | 
			
		||||
Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
location of your Java installation."
 | 
			
		||||
    fi
 | 
			
		||||
else
 | 
			
		||||
    JAVACMD=java
 | 
			
		||||
    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
 | 
			
		||||
 | 
			
		||||
Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
location of your Java installation."
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Increase the maximum file descriptors if we can.
 | 
			
		||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
 | 
			
		||||
    case $MAX_FD in #(
 | 
			
		||||
      max*)
 | 
			
		||||
        MAX_FD=$( ulimit -H -n ) ||
 | 
			
		||||
            warn "Could not query maximum file descriptor limit"
 | 
			
		||||
    esac
 | 
			
		||||
    case $MAX_FD in  #(
 | 
			
		||||
      '' | soft) :;; #(
 | 
			
		||||
      *)
 | 
			
		||||
        ulimit -n "$MAX_FD" ||
 | 
			
		||||
            warn "Could not set maximum file descriptor limit to $MAX_FD"
 | 
			
		||||
    esac
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Collect all arguments for the java command, stacking in reverse order:
 | 
			
		||||
#   * args from the command line
 | 
			
		||||
#   * the main class name
 | 
			
		||||
#   * -classpath
 | 
			
		||||
#   * -D...appname settings
 | 
			
		||||
#   * --module-path (only if needed)
 | 
			
		||||
#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
 | 
			
		||||
 | 
			
		||||
# For Cygwin or MSYS, switch paths to Windows format before running java
 | 
			
		||||
if "$cygwin" || "$msys" ; then
 | 
			
		||||
    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
 | 
			
		||||
    CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
 | 
			
		||||
 | 
			
		||||
    JAVACMD=$( cygpath --unix "$JAVACMD" )
 | 
			
		||||
 | 
			
		||||
    # Now convert the arguments - kludge to limit ourselves to /bin/sh
 | 
			
		||||
    for arg do
 | 
			
		||||
        if
 | 
			
		||||
            case $arg in                                #(
 | 
			
		||||
              -*)   false ;;                            # don't mess with options #(
 | 
			
		||||
              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX filepath
 | 
			
		||||
                    [ -e "$t" ] ;;                      #(
 | 
			
		||||
              *)    false ;;
 | 
			
		||||
            esac
 | 
			
		||||
        then
 | 
			
		||||
            arg=$( cygpath --path --ignore --mixed "$arg" )
 | 
			
		||||
        fi
 | 
			
		||||
        # Roll the args list around exactly as many times as the number of
 | 
			
		||||
        # args, so each arg winds up back in the position where it started, but
 | 
			
		||||
        # possibly modified.
 | 
			
		||||
        #
 | 
			
		||||
        # NB: a `for` loop captures its iteration list before it begins, so
 | 
			
		||||
        # changing the positional parameters here affects neither the number of
 | 
			
		||||
        # iterations, nor the values presented in `arg`.
 | 
			
		||||
        shift                   # remove old arg
 | 
			
		||||
        set -- "$@" "$arg"      # push replacement arg
 | 
			
		||||
    done
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Collect all arguments for the java command;
 | 
			
		||||
#   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
 | 
			
		||||
#     shell script including quotes and variable substitutions, so put them in
 | 
			
		||||
#     double quotes to make sure that they get re-expanded; and
 | 
			
		||||
#   * put everything else in single quotes, so that it's not re-expanded.
 | 
			
		||||
 | 
			
		||||
set -- \
 | 
			
		||||
        "-Dorg.gradle.appname=$APP_BASE_NAME" \
 | 
			
		||||
        -classpath "$CLASSPATH" \
 | 
			
		||||
        org.gradle.wrapper.GradleWrapperMain \
 | 
			
		||||
        "$@"
 | 
			
		||||
 | 
			
		||||
# Use "xargs" to parse quoted args.
 | 
			
		||||
#
 | 
			
		||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
 | 
			
		||||
#
 | 
			
		||||
# In Bash we could simply go:
 | 
			
		||||
#
 | 
			
		||||
#   readarray ARGS < <( xargs -n1 <<<"$var" ) &&
 | 
			
		||||
#   set -- "${ARGS[@]}" "$@"
 | 
			
		||||
#
 | 
			
		||||
# but POSIX shell has neither arrays nor command substitution, so instead we
 | 
			
		||||
# post-process each arg (as a line of input to sed) to backslash-escape any
 | 
			
		||||
# character that might be a shell metacharacter, then use eval to reverse
 | 
			
		||||
# that process (while maintaining the separation between arguments), and wrap
 | 
			
		||||
# the whole thing up as a single "set" statement.
 | 
			
		||||
#
 | 
			
		||||
# This will of course break if any of these variables contains a newline or
 | 
			
		||||
# an unmatched quote.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
eval "set -- $(
 | 
			
		||||
        printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
 | 
			
		||||
        xargs -n1 |
 | 
			
		||||
        sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
 | 
			
		||||
        tr '\n' ' '
 | 
			
		||||
    )" '"$@"'
 | 
			
		||||
 | 
			
		||||
exec "$JAVACMD" "$@"
 | 
			
		||||
							
								
								
									
										89
									
								
								prototypes/demo/gradlew.bat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								prototypes/demo/gradlew.bat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,89 @@
 | 
			
		||||
@rem
 | 
			
		||||
@rem Copyright 2015 the original author or authors.
 | 
			
		||||
@rem
 | 
			
		||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
@rem you may not use this file except in compliance with the License.
 | 
			
		||||
@rem You may obtain a copy of the License at
 | 
			
		||||
@rem
 | 
			
		||||
@rem      https://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
@rem
 | 
			
		||||
@rem Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
@rem See the License for the specific language governing permissions and
 | 
			
		||||
@rem limitations under the License.
 | 
			
		||||
@rem
 | 
			
		||||
 | 
			
		||||
@if "%DEBUG%" == "" @echo off
 | 
			
		||||
@rem ##########################################################################
 | 
			
		||||
@rem
 | 
			
		||||
@rem  Gradle startup script for Windows
 | 
			
		||||
@rem
 | 
			
		||||
@rem ##########################################################################
 | 
			
		||||
 | 
			
		||||
@rem Set local scope for the variables with windows NT shell
 | 
			
		||||
if "%OS%"=="Windows_NT" setlocal
 | 
			
		||||
 | 
			
		||||
set DIRNAME=%~dp0
 | 
			
		||||
if "%DIRNAME%" == "" set DIRNAME=.
 | 
			
		||||
set APP_BASE_NAME=%~n0
 | 
			
		||||
set APP_HOME=%DIRNAME%
 | 
			
		||||
 | 
			
		||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
 | 
			
		||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
 | 
			
		||||
 | 
			
		||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
 | 
			
		||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
 | 
			
		||||
 | 
			
		||||
@rem Find java.exe
 | 
			
		||||
if defined JAVA_HOME goto findJavaFromJavaHome
 | 
			
		||||
 | 
			
		||||
set JAVA_EXE=java.exe
 | 
			
		||||
%JAVA_EXE% -version >NUL 2>&1
 | 
			
		||||
if "%ERRORLEVEL%" == "0" goto execute
 | 
			
		||||
 | 
			
		||||
echo.
 | 
			
		||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
 | 
			
		||||
echo.
 | 
			
		||||
echo Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
echo location of your Java installation.
 | 
			
		||||
 | 
			
		||||
goto fail
 | 
			
		||||
 | 
			
		||||
:findJavaFromJavaHome
 | 
			
		||||
set JAVA_HOME=%JAVA_HOME:"=%
 | 
			
		||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
 | 
			
		||||
 | 
			
		||||
if exist "%JAVA_EXE%" goto execute
 | 
			
		||||
 | 
			
		||||
echo.
 | 
			
		||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
 | 
			
		||||
echo.
 | 
			
		||||
echo Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
echo location of your Java installation.
 | 
			
		||||
 | 
			
		||||
goto fail
 | 
			
		||||
 | 
			
		||||
:execute
 | 
			
		||||
@rem Setup the command line
 | 
			
		||||
 | 
			
		||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@rem Execute Gradle
 | 
			
		||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
 | 
			
		||||
 | 
			
		||||
:end
 | 
			
		||||
@rem End local scope for the variables with windows NT shell
 | 
			
		||||
if "%ERRORLEVEL%"=="0" goto mainEnd
 | 
			
		||||
 | 
			
		||||
:fail
 | 
			
		||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
 | 
			
		||||
rem the _cmd.exe /c_ return code!
 | 
			
		||||
if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
 | 
			
		||||
exit /b 1
 | 
			
		||||
 | 
			
		||||
:mainEnd
 | 
			
		||||
if "%OS%"=="Windows_NT" endlocal
 | 
			
		||||
 | 
			
		||||
:omega
 | 
			
		||||
							
								
								
									
										1
									
								
								prototypes/demo/settings.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								prototypes/demo/settings.gradle
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
rootProject.name = "demo"
 | 
			
		||||
							
								
								
									
										0
									
								
								prototypes/demo/src/StyleMenu.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								prototypes/demo/src/StyleMenu.css
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,184 @@
 | 
			
		||||
package com.example.demo;
 | 
			
		||||
 | 
			
		||||
import javafx.application.Application;
 | 
			
		||||
import javafx.geometry.HPos;
 | 
			
		||||
import javafx.geometry.Insets;
 | 
			
		||||
import javafx.geometry.Pos;
 | 
			
		||||
import javafx.scene.Scene;
 | 
			
		||||
import javafx.scene.control.Button;
 | 
			
		||||
import javafx.scene.control.Label;
 | 
			
		||||
import javafx.scene.control.MenuButton;
 | 
			
		||||
import javafx.scene.layout.BorderPane;
 | 
			
		||||
import javafx.scene.layout.ColumnConstraints;
 | 
			
		||||
import javafx.scene.layout.GridPane;
 | 
			
		||||
import javafx.scene.layout.RowConstraints;
 | 
			
		||||
import javafx.scene.paint.Color;
 | 
			
		||||
import javafx.scene.text.Font;
 | 
			
		||||
import javafx.stage.Stage;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.util.Objects;
 | 
			
		||||
 | 
			
		||||
public class HelloApplication extends Application {
 | 
			
		||||
    private Stage stage;
 | 
			
		||||
    //set up scene one
 | 
			
		||||
    private Scene Menu;
 | 
			
		||||
    private BorderPane BdP;
 | 
			
		||||
 | 
			
		||||
    private Label title;
 | 
			
		||||
    private Button Play;
 | 
			
		||||
    private Button Select_level;
 | 
			
		||||
    private Button Trophy;
 | 
			
		||||
    //set up scene 2
 | 
			
		||||
    private Scene Level_menu;
 | 
			
		||||
    private GridPane GdP;
 | 
			
		||||
    private Button bck_menu;
 | 
			
		||||
    //button for levele
 | 
			
		||||
    private MenuButton select_day;
 | 
			
		||||
    private Button _1;
 | 
			
		||||
    private Button _2;
 | 
			
		||||
    private Button _3;
 | 
			
		||||
    private Button _4;
 | 
			
		||||
    private Button _5;
 | 
			
		||||
    private Button _6;
 | 
			
		||||
    private Button _7;
 | 
			
		||||
    private Button _8;
 | 
			
		||||
    private Button _9;
 | 
			
		||||
    private Button _10;
 | 
			
		||||
 | 
			
		||||
    public void start(Stage primaryStage) {
 | 
			
		||||
        //set up the page
 | 
			
		||||
        stage = primaryStage;
 | 
			
		||||
        stage.setTitle("ROAD TO MASTER YOU");
 | 
			
		||||
        Menu = createMenu();
 | 
			
		||||
        Level_menu = createLevel_menu();
 | 
			
		||||
 | 
			
		||||
        stage.setScene(Menu);
 | 
			
		||||
        stage.show();
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    private Scene createMenu(){
 | 
			
		||||
        Play = new Button("Play");
 | 
			
		||||
        Trophy = new Button("Trophy");
 | 
			
		||||
        Select_level = new Button("Select Level");
 | 
			
		||||
        Select_level.setOnAction(event -> switchScenes(Level_menu));
 | 
			
		||||
        title = new Label("Welcome to road to master you");
 | 
			
		||||
        title.setFont(Font.font(20));
 | 
			
		||||
        title.setTextFill(Color.GOLD);
 | 
			
		||||
        BdP = new BorderPane(null,title,Select_level,Trophy,Play);
 | 
			
		||||
        Menu = new Scene(BdP,700,400);
 | 
			
		||||
        BorderPane.setAlignment(title,Pos.CENTER);
 | 
			
		||||
        BorderPane.setAlignment(Play,Pos.CENTER);
 | 
			
		||||
        BorderPane.setAlignment(Select_level,Pos.CENTER);
 | 
			
		||||
        BorderPane.setAlignment(Trophy,Pos.CENTER);
 | 
			
		||||
        Menu.getStylesheets().add("style.css");
 | 
			
		||||
        BdP.setPadding(new Insets(20,60,20,60));
 | 
			
		||||
 | 
			
		||||
        return Menu;
 | 
			
		||||
    }
 | 
			
		||||
    private Scene createLevel_menu(){
 | 
			
		||||
        bck_menu = new Button("Back to the menu");
 | 
			
		||||
        bck_menu.setOnAction(event -> switchScenes(Menu));
 | 
			
		||||
        GdP = new GridPane();
 | 
			
		||||
        Level_menu = new Scene(GdP,700,400);
 | 
			
		||||
        _1 = new Button("1");
 | 
			
		||||
        _2 = new Button("2");
 | 
			
		||||
        _3 = new Button("3");
 | 
			
		||||
        _4 = new Button("4");
 | 
			
		||||
        _5 = new Button("5");
 | 
			
		||||
        _6 = new Button("6");
 | 
			
		||||
        _7 = new Button("7");
 | 
			
		||||
        _8 = new Button("8");
 | 
			
		||||
        _9 = new Button("9");
 | 
			
		||||
        _10 = new Button("10");
 | 
			
		||||
        select_day = new MenuButton("Select day");
 | 
			
		||||
 | 
			
		||||
        //set up of the button
 | 
			
		||||
        GdP.add(select_day,1,0);
 | 
			
		||||
        GdP.add(_1,0,1);
 | 
			
		||||
        GdP.add(_2,1,1);
 | 
			
		||||
        GdP.add(_3,2,1);
 | 
			
		||||
        GdP.add(_4,0,2);
 | 
			
		||||
        GdP.add(_5,1,2);
 | 
			
		||||
        GdP.add(_6,2,2);
 | 
			
		||||
        GdP.add(_7,0,3);
 | 
			
		||||
        GdP.add(_8,1,3);
 | 
			
		||||
        GdP.add(_9,2,3);
 | 
			
		||||
        GdP.add(_10,1,4);
 | 
			
		||||
        GdP.add(bck_menu,2,4);
 | 
			
		||||
        //set up gap and padding and everything else
 | 
			
		||||
        GdP.setHgap(20);
 | 
			
		||||
        GdP.setVgap(20);
 | 
			
		||||
        GdP.setPadding(new Insets(40,20,20,40));
 | 
			
		||||
        ColumnConstraints col_1 = new ColumnConstraints();
 | 
			
		||||
        col_1.setPercentWidth(33);
 | 
			
		||||
        ColumnConstraints col_2 = new ColumnConstraints();
 | 
			
		||||
        col_2.setPercentWidth(33);
 | 
			
		||||
        ColumnConstraints col_3 = new ColumnConstraints();
 | 
			
		||||
        col_3.setPercentWidth(34);
 | 
			
		||||
        GdP.getColumnConstraints().addAll(col_1,col_2,col_3);
 | 
			
		||||
        //GdP.setGridLinesVisible(true);
 | 
			
		||||
        GridPane.setHalignment(_1, HPos.CENTER);
 | 
			
		||||
        GridPane.setHalignment(_2, HPos.CENTER);
 | 
			
		||||
        GridPane.setHalignment(_3, HPos.CENTER);
 | 
			
		||||
        GridPane.setHalignment(_4, HPos.CENTER);
 | 
			
		||||
        GridPane.setHalignment(_5, HPos.CENTER);
 | 
			
		||||
        GridPane.setHalignment(_6, HPos.CENTER);
 | 
			
		||||
        GridPane.setHalignment(_7, HPos.CENTER);
 | 
			
		||||
        GridPane.setHalignment(_8, HPos.CENTER);
 | 
			
		||||
        GridPane.setHalignment(_9, HPos.CENTER);
 | 
			
		||||
        GridPane.setHalignment(_10, HPos.CENTER);
 | 
			
		||||
        GridPane.setHalignment(select_day, HPos.CENTER);
 | 
			
		||||
        GridPane.setHalignment(bck_menu, HPos.CENTER);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        return Level_menu;
 | 
			
		||||
    }
 | 
			
		||||
    public void switchScenes(Scene scene){
 | 
			
		||||
        stage.setScene(scene);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    public static void main(String[] args) {
 | 
			
		||||
        launch(args);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/***@Override
 | 
			
		||||
public void start(Stage primaryStage) {
 | 
			
		||||
    //set up the page
 | 
			
		||||
    primaryStage.setTitle("Road to Master You");
 | 
			
		||||
    BorderPane root = new BorderPane();
 | 
			
		||||
    Scene scene = new Scene(root,400,300);
 | 
			
		||||
    primaryStage.setScene(scene);
 | 
			
		||||
    primaryStage.show();
 | 
			
		||||
 | 
			
		||||
    //set up all the object needed for the menu
 | 
			
		||||
    Label title = new Label("Welcome to Road to Master You");
 | 
			
		||||
    Button Play = new Button("Play");
 | 
			
		||||
    Button Select_level = new Button("Select Level");
 | 
			
		||||
    Button Trophy = new Button("Trophy");
 | 
			
		||||
 | 
			
		||||
    //put all the object on the page
 | 
			
		||||
    root.setTop(title);
 | 
			
		||||
    root.setBottom(Trophy);
 | 
			
		||||
    root.setRight(Select_level);
 | 
			
		||||
    root.setLeft(Play);
 | 
			
		||||
 | 
			
		||||
    //adjust everything as I want (position,color)
 | 
			
		||||
    title.setTextFill(Color.GOLD);
 | 
			
		||||
    BorderPane.setAlignment(title,Pos.CENTER);
 | 
			
		||||
    BorderPane.setAlignment(Play,Pos.CENTER);
 | 
			
		||||
    BorderPane.setAlignment(Select_level,Pos.CENTER);
 | 
			
		||||
    BorderPane.setAlignment(Trophy,Pos.CENTER);
 | 
			
		||||
    scene.getStylesheets().add("style.css"); //todo found why there is no link btw file
 | 
			
		||||
 | 
			
		||||
    //Switch scene
 | 
			
		||||
    Select_level.setOnAction(event -> {
 | 
			
		||||
        SelectLevel secondWindow = new SelectLevel();
 | 
			
		||||
        secondWindow.show();
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
@ -0,0 +1,14 @@
 | 
			
		||||
package com.example.demo;
 | 
			
		||||
 | 
			
		||||
import javafx.fxml.FXML;
 | 
			
		||||
import javafx.scene.control.Label;
 | 
			
		||||
 | 
			
		||||
public class HelloController {
 | 
			
		||||
    @FXML
 | 
			
		||||
    private Label welcomeText;
 | 
			
		||||
 | 
			
		||||
    @FXML
 | 
			
		||||
    protected void onHelloButtonClick() {
 | 
			
		||||
        welcomeText.setText("Welcome to JavaFX Application!");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,65 @@
 | 
			
		||||
/***package com.example.demo;
 | 
			
		||||
 | 
			
		||||
import javafx.scene.Group;
 | 
			
		||||
import javafx.scene.Scene;
 | 
			
		||||
import javafx.scene.control.Button;
 | 
			
		||||
import javafx.scene.control.Label;
 | 
			
		||||
import javafx.scene.layout.BorderPane;
 | 
			
		||||
import javafx.scene.layout.GridPane;
 | 
			
		||||
import javafx.stage.Stage;
 | 
			
		||||
 | 
			
		||||
import static javafx.application.Application.launch;
 | 
			
		||||
 | 
			
		||||
public class SelectLevel extends Stage {
 | 
			
		||||
    private Stage stage;
 | 
			
		||||
    //set up scene one
 | 
			
		||||
    private Scene Menu;
 | 
			
		||||
    private BorderPane BdP;
 | 
			
		||||
 | 
			
		||||
    private Label title;
 | 
			
		||||
    private Button Play;
 | 
			
		||||
    private Button Select_level;
 | 
			
		||||
    private Button Trophy;
 | 
			
		||||
    //set up scene 2
 | 
			
		||||
    private Scene Level_menu;
 | 
			
		||||
    private GridPane GdP;
 | 
			
		||||
    private Button bck_menu;
 | 
			
		||||
 | 
			
		||||
    public void start(Stage primaryStage) {
 | 
			
		||||
        //set up the page
 | 
			
		||||
        primaryStage.setTitle("Select your Level");
 | 
			
		||||
        Menu = createMenu();
 | 
			
		||||
        Level_menu = createLevel_menu();
 | 
			
		||||
 | 
			
		||||
        primaryStage.setScene(Menu);
 | 
			
		||||
        primaryStage.show();
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    private Scene createMenu(){
 | 
			
		||||
        Play = new Button("Play");
 | 
			
		||||
        Trophy = new Button("Trophy");
 | 
			
		||||
        Select_level = new Button("Select Level");
 | 
			
		||||
        Select_level.setOnAction(event -> switchScenes(Level_menu));
 | 
			
		||||
        title = new Label("Welcome to road to master you");
 | 
			
		||||
        BdP = new BorderPane(null,title,Select_level,Trophy,Play);
 | 
			
		||||
        Menu = new Scene(BdP,700,400);
 | 
			
		||||
 | 
			
		||||
        return Menu;
 | 
			
		||||
    }
 | 
			
		||||
    private Scene createLevel_menu(){
 | 
			
		||||
        bck_menu = new Button("Back to the menu");
 | 
			
		||||
        bck_menu.setOnAction(event -> switchScenes(Menu));
 | 
			
		||||
        GdP = new GridPane();
 | 
			
		||||
        Level_menu = new Scene(GdP,700,400);
 | 
			
		||||
 | 
			
		||||
        return Level_menu;
 | 
			
		||||
    }
 | 
			
		||||
    public void switchScenes(Scene scene){
 | 
			
		||||
        stage.setScene(scene);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    public static void main(String[] args) {
 | 
			
		||||
        launch(args);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
***/
 | 
			
		||||
							
								
								
									
										8
									
								
								prototypes/demo/src/main/java/module-info.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								prototypes/demo/src/main/java/module-info.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
			
		||||
module com.example.demo {
 | 
			
		||||
    requires javafx.controls;
 | 
			
		||||
    requires javafx.fxml;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    opens com.example.demo to javafx.fxml;
 | 
			
		||||
    exports com.example.demo;
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,16 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
 | 
			
		||||
<?import javafx.geometry.Insets?>
 | 
			
		||||
<?import javafx.scene.control.Label?>
 | 
			
		||||
<?import javafx.scene.layout.VBox?>
 | 
			
		||||
 | 
			
		||||
<?import javafx.scene.control.Button?>
 | 
			
		||||
<VBox alignment="CENTER" spacing="20.0" xmlns:fx="http://javafx.com/fxml"
 | 
			
		||||
      fx:controller="com.example.demo.HelloController">
 | 
			
		||||
    <padding>
 | 
			
		||||
        <Insets bottom="20.0" left="20.0" right="20.0" top="20.0"/>
 | 
			
		||||
    </padding>
 | 
			
		||||
 | 
			
		||||
    <Label fx:id="welcomeText"/>
 | 
			
		||||
    <Button text="Hello!" onAction="#onHelloButtonClick"/>
 | 
			
		||||
</VBox>
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.1 MiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 423 KiB  | 
@ -0,0 +1,48 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
 | 
			
		||||
<?import javafx.scene.control.Button?>
 | 
			
		||||
<?import javafx.scene.control.Label?>
 | 
			
		||||
<?import javafx.scene.control.MenuButton?>
 | 
			
		||||
<?import javafx.scene.control.MenuItem?>
 | 
			
		||||
<?import javafx.scene.layout.ColumnConstraints?>
 | 
			
		||||
<?import javafx.scene.layout.GridPane?>
 | 
			
		||||
<?import javafx.scene.layout.RowConstraints?>
 | 
			
		||||
 | 
			
		||||
<GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/19">
 | 
			
		||||
  <columnConstraints>
 | 
			
		||||
    <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
 | 
			
		||||
    <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
 | 
			
		||||
      <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
 | 
			
		||||
      <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
 | 
			
		||||
      <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
 | 
			
		||||
  </columnConstraints>
 | 
			
		||||
  <rowConstraints>
 | 
			
		||||
      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
 | 
			
		||||
    <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
 | 
			
		||||
    <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
 | 
			
		||||
    <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
 | 
			
		||||
      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
 | 
			
		||||
      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
 | 
			
		||||
      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
 | 
			
		||||
  </rowConstraints>
 | 
			
		||||
   <children>
 | 
			
		||||
      <Label prefHeight="108.0" prefWidth="200.0" style="-fx-alignment: center;" text="Select Level" GridPane.columnIndex="2" />
 | 
			
		||||
      <Button mnemonicParsing="false" text="1" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="2" />
 | 
			
		||||
      <Button mnemonicParsing="false" text="2" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="2" />
 | 
			
		||||
      <Button mnemonicParsing="false" text="3" GridPane.columnIndex="3" GridPane.halignment="CENTER" GridPane.rowIndex="2" />
 | 
			
		||||
      <Button mnemonicParsing="false" text="5" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="3" />
 | 
			
		||||
      <Button mnemonicParsing="false" text="6" GridPane.columnIndex="3" GridPane.halignment="CENTER" GridPane.rowIndex="3" />
 | 
			
		||||
      <Button mnemonicParsing="false" text="7" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="4" />
 | 
			
		||||
      <Button mnemonicParsing="false" text="8" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="4" />
 | 
			
		||||
      <Button mnemonicParsing="false" text="4" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="3" />
 | 
			
		||||
      <Button mnemonicParsing="false" stylesheets="@SelectLevel.css" text="9" GridPane.columnIndex="3" GridPane.halignment="CENTER" GridPane.rowIndex="4" />
 | 
			
		||||
      <Button mnemonicParsing="false" text="10" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="5" />
 | 
			
		||||
      <MenuButton mnemonicParsing="false" text="Select day " GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="1">
 | 
			
		||||
        <items>
 | 
			
		||||
          <MenuItem mnemonicParsing="false" text="Action 1" />
 | 
			
		||||
          <MenuItem mnemonicParsing="false" text="Action 2" />
 | 
			
		||||
        </items>
 | 
			
		||||
      </MenuButton>
 | 
			
		||||
      <Button mnemonicParsing="false" text="Back to menu" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="6" />
 | 
			
		||||
   </children>
 | 
			
		||||
</GridPane>
 | 
			
		||||
@ -0,0 +1,7 @@
 | 
			
		||||
.root {
 | 
			
		||||
    -fx-background-image: url("Background-select-level.jpg");
 | 
			
		||||
    -fx-background-position: center
 | 
			
		||||
}
 | 
			
		||||
.button{
 | 
			
		||||
    -fx-alignment: center;
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,35 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
 | 
			
		||||
<?import javafx.geometry.Insets?>
 | 
			
		||||
<?import javafx.scene.control.Button?>
 | 
			
		||||
<?import javafx.scene.control.Label?>
 | 
			
		||||
<?import javafx.scene.layout.BorderPane?>
 | 
			
		||||
<?import javafx.scene.text.Font?>
 | 
			
		||||
 | 
			
		||||
<BorderPane centerShape="false" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1">
 | 
			
		||||
   <top>
 | 
			
		||||
      <Label prefHeight="116.0" prefWidth="600.0" style="-fx-alignment: center; -fx-padding: 10;" text="Road to MasterU" textAlignment="CENTER" textFill="GOLD" underline="true" wrapText="true" BorderPane.alignment="CENTER">
 | 
			
		||||
         <font>
 | 
			
		||||
            <Font size="26.0" />
 | 
			
		||||
         </font>
 | 
			
		||||
      </Label>
 | 
			
		||||
   </top>
 | 
			
		||||
   <bottom>
 | 
			
		||||
      <Button mnemonicParsing="false" style="-fx-alignment: center;" text="Trophy" textAlignment="CENTER" BorderPane.alignment="CENTER">
 | 
			
		||||
         <BorderPane.margin>
 | 
			
		||||
            <Insets bottom="100.0" />
 | 
			
		||||
         </BorderPane.margin></Button>
 | 
			
		||||
   </bottom>
 | 
			
		||||
   <right>
 | 
			
		||||
      <Button mnemonicParsing="false" prefHeight="0.0" prefWidth="153.0" style="-fx-alignment: center;" text="Select Level" BorderPane.alignment="CENTER">
 | 
			
		||||
         <BorderPane.margin>
 | 
			
		||||
            <Insets right="100.0" />
 | 
			
		||||
         </BorderPane.margin></Button>
 | 
			
		||||
   </right>
 | 
			
		||||
   <left>
 | 
			
		||||
      <Button mnemonicParsing="false" prefHeight="10.0" prefWidth="90.0" style="-fx-alignment: center;" text="Play" textAlignment="CENTER" BorderPane.alignment="CENTER">
 | 
			
		||||
         <BorderPane.margin>
 | 
			
		||||
            <Insets left="110.0" />
 | 
			
		||||
         </BorderPane.margin></Button>
 | 
			
		||||
   </left>
 | 
			
		||||
</BorderPane>
 | 
			
		||||
@ -0,0 +1,12 @@
 | 
			
		||||
.root{
 | 
			
		||||
    -fx-background-image:url("BackGround-menu.jpg");
 | 
			
		||||
    -fx-background-position:center;
 | 
			
		||||
}
 | 
			
		||||
.label{
 | 
			
		||||
    -fx-font-size: 75;
 | 
			
		||||
}
 | 
			
		||||
.button {
 | 
			
		||||
    -fx-start-margin: 20;
 | 
			
		||||
    -fx-text-alignment: center;
 | 
			
		||||
    -fx-padding: 10;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user