Advertisement
Guest User

Untitled

a guest
Jun 6th, 2017
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.71 KB | None | 0 0
  1. Main:
  2.  
  3. package be.vincent_nagy.oxo;
  4.  
  5. import javafx.application.Application;
  6. import javafx.fxml.FXMLLoader;
  7. import javafx.scene.Parent;
  8. import javafx.scene.Scene;
  9. import javafx.stage.Stage;
  10.  
  11. public class Main extends Application {
  12.  
  13.     @Override
  14.     public void start(Stage primaryStage) throws Exception{
  15.         FXMLLoader loader = new FXMLLoader(getClass().getResource("oxo.fxml"));
  16.  
  17.         Parent root = loader.load();
  18.         Scene mainScene = new Scene(root,600,600);
  19.  
  20.         primaryStage.setTitle("OXO Spel");
  21.         primaryStage.setScene(mainScene);
  22.  
  23.         primaryStage.show();
  24.  
  25.         //Hier geef ik de controller toegang tot de main app.
  26.         OxoController controller = loader.getController();
  27.         controller.setMain(this);
  28.  
  29.     }
  30.  
  31.  
  32.     public static void main(String[] args) {
  33.         launch(args);
  34.     }
  35. }
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43. Controller:
  44. package be.vincent_nagy.oxo;
  45.  
  46. import javafx.event.ActionEvent;
  47. import javafx.fxml.FXML;
  48. import javafx.scene.control.Button;
  49. import javafx.scene.layout.GridPane;
  50.  
  51. public class OxoController {
  52.  
  53.     @FXML
  54.     private GridPane mainGrid;
  55.  
  56.     @FXML
  57.     private Button button5;
  58.  
  59.     @FXML
  60.     private Button button3;
  61.  
  62.     @FXML
  63.     private Button button2;
  64.  
  65.     @FXML
  66.     private Button button4;
  67.  
  68.     @FXML
  69.     private Button button6;
  70.  
  71.     @FXML
  72.     private Button button7;
  73.  
  74.     @FXML
  75.     private Button button8;
  76.  
  77.     @FXML
  78.     private Button button9;
  79.  
  80.     @FXML
  81.     private Button button1;
  82.  
  83.     //Referentie naar de main applicatie
  84.     private Main main;
  85.  
  86.     //Constructor wordt opgeroepen voor de initialize() methode
  87.     public OxoController(){
  88.  
  89.     }
  90.  
  91.     //Deze methode wordt automatisch opgeroepen NADAT de FXML file geladen is. Vanaf hier heb ik dus toegang
  92.     // tot de @FXML properties van deze controller
  93.     @FXML
  94.     private void initialize(){
  95.  
  96.     }
  97.  
  98.     //Referentie naar de main applicatie. Aanroeping vanuit main
  99.     public void setMain(Main main){
  100.         this.main = main;
  101.     }
  102.  
  103.  
  104.     @FXML
  105.     void handleButtonAction(ActionEvent event) {
  106.         if(event.getSource() instanceof Button){
  107.             Button src = (Button) event.getSource();
  108.  
  109.             //send the src up to main or handle the game code here?
  110.         }
  111.     }
  112.  
  113.  
  114. }
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121. FXML:
  122. <?xml version="1.0" encoding="UTF-8"?>
  123.  
  124. <?import javafx.scene.control.Button?>
  125. <?import javafx.scene.layout.ColumnConstraints?>
  126. <?import javafx.scene.layout.GridPane?>
  127. <?import javafx.scene.layout.RowConstraints?>
  128.  
  129. <GridPane fx:id="mainGrid" alignment="center" gridLinesVisible="true" minHeight="600.0" minWidth="600.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="be.vincent_nagy.oxo.OxoController">
  130.    <rowConstraints>
  131.       <RowConstraints maxHeight="200.0" minHeight="200.0" prefHeight="200.0" />
  132.       <RowConstraints maxHeight="200.0" minHeight="200.0" prefHeight="200.0" />
  133.       <RowConstraints maxHeight="200.0" minHeight="200.0" prefHeight="200.0" />
  134.    </rowConstraints>
  135.    <columnConstraints>
  136.       <ColumnConstraints maxWidth="200.0" minWidth="200.0" prefWidth="200.0" />
  137.       <ColumnConstraints maxWidth="200.0" minWidth="200.0" prefWidth="200.0" />
  138.       <ColumnConstraints maxWidth="200.0" minWidth="200.0" prefWidth="200.0" />
  139.    </columnConstraints>
  140.    <children>
  141.       <Button fx:id="button5" mnemonicParsing="false" onAction="#handleButtonAction" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
  142.       <Button fx:id="button3" mnemonicParsing="false" onAction="#handleButtonAction" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="2" />
  143.       <Button fx:id="button2" mnemonicParsing="false" onAction="#handleButtonAction" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" />
  144.       <Button fx:id="button4" mnemonicParsing="false" onAction="#handleButtonAction" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="1" />
  145.       <Button fx:id="button6" mnemonicParsing="false" onAction="#handleButtonAction" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="2" GridPane.rowIndex="1" />
  146.       <Button fx:id="button7" mnemonicParsing="false" onAction="#handleButtonAction" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="2" />
  147.       <Button fx:id="button8" mnemonicParsing="false" onAction="#handleButtonAction" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="2" />
  148.       <Button fx:id="button9" mnemonicParsing="false" onAction="#handleButtonAction" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="2" GridPane.rowIndex="2" />
  149.       <Button fx:id="button1" mnemonicParsing="false" onAction="#handleButtonAction" prefHeight="200.0" prefWidth="200.0" />
  150.    </children>
  151. </GridPane>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement