Skip to content

Instantly share code, notes, and snippets.

@Kijimu7
Last active June 28, 2020 06:16
Show Gist options
  • Select an option

  • Save Kijimu7/7abc302dae2bf285fb120fe7f146643b to your computer and use it in GitHub Desktop.

Select an option

Save Kijimu7/7abc302dae2bf285fb120fe7f146643b to your computer and use it in GitHub Desktop.

Revisions

  1. Kijimu7 revised this gist Jun 28, 2020. 1 changed file with 108 additions and 0 deletions.
    108 changes: 108 additions & 0 deletions Inventory.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,108 @@
    package model;


    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;

    public class Inventory {

    private static ObservableList<Part> allParts = FXCollections.observableArrayList();
    private static ObservableList<Product> allProducts = FXCollections.observableArrayList();

    //add

    public static void addPart(Part newPart)
    {

    allParts.add(newPart);
    }

    public static void addProduct(Product newProduct)
    {

    allProducts.add(newProduct);
    }

    //lookup

    public static Part lookupPart(int partId) {
    for (Part part : allParts) {
    if (part.getId() == partId) {
    return part;
    }
    }
    return null;
    }

    public static Product lookupProduct(int productId)
    {
    for(Product product : allProducts){
    if(product.getId() == productId){
    return product;
    }
    }
    return null;
    }

    public static ObservableList<Part> lookupPart(String partName)
    {
    ObservableList<Part> foundParts = FXCollections.observableArrayList();
    for(int i = 0; i < allParts.size(); i++){
    if(allParts.get(i).getName().toLowerCase().contains(partName.toLowerCase())){
    foundParts.add(allParts.get(i));
    }
    }
    return foundParts;
    }

    public static ObservableList<Product> lookupProduct(String productName) {
    ObservableList<Product> foundProducts = FXCollections.observableArrayList();
    for (int i = 0; i < allProducts.size(); i++) {
    if (allProducts.get(i).getName().toLowerCase().contains(productName.toLowerCase())) {
    foundProducts.add(allProducts.get(i));
    }
    }
    return foundProducts;
    }

    public int getPartIndex(Part part){
    return allParts.indexOf(part);
    }

    //update


    public static void updatePart(int index, Part selectedPart){
    allParts.set(index, selectedPart);

    }

    public static void updateProduct(int index, Product selectedProduct){
    allProducts.set(index, selectedProduct);
    }

    //delete
    public static boolean deletePart(Part selectedPart){
    allParts.remove(selectedPart);
    return true;
    }

    public static boolean deleteProduct(Product selectedProduct){
    allProducts.remove(selectedProduct);
    return true;
    }


    //get

    public static ObservableList<Part> getAllParts()
    {

    return allParts;
    }

    public static ObservableList<Product> getAllProducts()
    {
    return allProducts;
    }
    }
  2. Kijimu7 revised this gist Jun 28, 2020. 3 changed files with 368 additions and 14 deletions.
    31 changes: 31 additions & 0 deletions Addpart.fxml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,31 @@
    <?xml version="1.0" encoding="UTF-8"?>

    <?import javafx.scene.control.*?>
    <?import javafx.scene.layout.*?>

    <AnchorPane id="AnchorPane" prefHeight="500.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/10.0.2-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ViewController.AddpartController">
    <children>
    <Label layoutX="35.0" layoutY="43.0" text="Add Part" />
    <RadioButton fx:id="addPartInhouseRBtn" layoutX="138.0" layoutY="43.0" mnemonicParsing="false" onAction="#inhouseRadioButtonSelected" text="In-House">
    <toggleGroup>
    <ToggleGroup fx:id="toggleGroup" />
    </toggleGroup></RadioButton>
    <RadioButton fx:id="addPartOutsourcedRBtn" layoutX="291.0" layoutY="43.0" mnemonicParsing="false" onAction="#outsourcedRadioButtonSelected" selected="true" text="Outsourcesd" toggleGroup="$toggleGroup" />
    <Label fx:id="addPartCnameLbl" layoutX="26.0" layoutY="376.0" prefHeight="17.0" prefWidth="120.0" text="Company Name" />
    <Label layoutX="300.0" layoutY="330.0" text="Min" />
    <Label layoutX="54.0" layoutY="119.0" text="ID" />
    <Label layoutX="54.0" layoutY="175.0" text="Name" />
    <Label layoutX="54.0" layoutY="330.0" text="Max" />
    <Label layoutX="54.0" layoutY="279.0" text="Price/Cost" />
    <Label layoutX="54.0" layoutY="225.0" prefHeight="17.0" prefWidth="32.0" text="Inv" />
    <TextField fx:id="addPartMinTxt" layoutX="341.0" layoutY="326.0" prefHeight="25.0" prefWidth="86.0" />
    <TextField fx:id="addPartPriceTxt" layoutX="164.0" layoutY="275.0" />
    <TextField fx:id="addPartDynamicTxt" layoutX="164.0" layoutY="372.0" />
    <TextField fx:id="addPartMaxTxt" layoutX="164.0" layoutY="326.0" prefHeight="25.0" prefWidth="88.0" />
    <TextField fx:id="addPartInvTxt" layoutX="164.0" layoutY="221.0" />
    <TextField fx:id="addPartNameTxt" layoutX="164.0" layoutY="171.0" />
    <TextField fx:id="addPartIdTxt" disable="true" editable="false" layoutX="164.0" layoutY="115.0" />
    <Button fx:id="addPartsaveBtn" layoutX="313.0" layoutY="419.0" mnemonicParsing="false" onAction="#onActionSavePart" text="Save" />
    <Button fx:id="addPartcancelBtn" layoutX="399.0" layoutY="419.0" mnemonicParsing="false" onAction="#onActionCancel" text="Cancel" />
    </children>
    </AnchorPane>
    95 changes: 95 additions & 0 deletions InventoryProgram.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,95 @@
    /*
    * To change this license header, choose License Headers in Project Properties.
    * To change this template file, choose Tools | Templates
    * and open the template in the editor.
    */
    package Main;

    import javafx.application.Application;
    import javafx.fxml.FXMLLoader;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.stage.Stage;
    import model.InHouse;
    import model.Inventory;
    import model.Outsourced;
    import model.Product;

    /**
    *
    * @author pinko
    */
    public class

    InventoryProgram extends Application {


    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    launch(args);
    }


    @Override
    public void start(Stage stage) throws Exception {

    Inventory inventory = new Inventory();
    addTestData(inventory);

    Parent root = FXMLLoader.load(getClass().getResource("../ViewController/MainScreen.fxml"));
    Scene scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
    }



    void addTestData(Inventory inv) {

    //Add InHouse Parts
    InHouse part1 = new InHouse(1, "part1", 5.00, 10, 1, 100, 101);
    InHouse part2 = new InHouse(2, "part2", 6.00, 20, 1, 100, 102);
    InHouse part3 = new InHouse(3, "part3", 7.00, 30, 1, 100, 103);


    Inventory.addPart(part1);
    Inventory.addPart(part2);
    Inventory.addPart(part3);


    //Outsourced parts
    Outsourced part6 = new Outsourced(6, "part6", 10.00, 60, 1, 100, "company1");
    Outsourced part7 = new Outsourced(7, "part7", 11.00, 70, 1, 100, "company2");
    Outsourced part8 = new Outsourced(8, "part8", 12.00, 80, 1, 100, "company3");



    Inventory.addPart(part6);
    Inventory.addPart(part7);
    Inventory.addPart(part8);


    //Products

    Product product1 = new Product(1, "product1", 6.00, 20, 1, 100);
    Product product2 = new Product(2, "product2", 5.00, 10, 1, 100);
    Product product3 = new Product(3, "product3", 7.00, 30, 1, 100);
    Product product4 = new Product(4, "product4", 8.00, 40, 1, 100);
    Product product5 = new Product(5, "product5", 9.00, 50, 1, 100);

    Inventory.addProduct(product1);
    Inventory.addProduct(product2);
    Inventory.addProduct(product3);
    Inventory.addProduct(product4);
    Inventory.addProduct(product5);




    }



    }
    256 changes: 242 additions & 14 deletions MainScreenController.java
    Original file line number Diff line number Diff line change
    @@ -1,38 +1,266 @@


    /*
    * To change this license header, choose License Headers in Project Properties.
    * To change this template file, choose Tools | Templates
    * and open the template in the editor.
    */
    package Main;

    package ViewController;

    import javafx.event.ActionEvent;
    import javafx.fxml.FXML;
    import javafx.fxml.FXMLLoader;
    import javafx.fxml.Initializable;
    import javafx.scene.control.Button;
    import javafx.scene.control.Label;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.control.cell.PropertyValueFactory;
    import javafx.scene.input.MouseEvent;
    import javafx.scene.layout.AnchorPane;
    import javafx.stage.Stage;
    import model.Inventory;
    import model.Part;
    import model.Product;

    import java.io.IOException;
    import java.net.URL;
    import java.util.Optional;
    import java.util.ResourceBundle;

    /**
    * FXML Controller class
    *
    * @author pinko
    */
    public class MainScreenController implements Initializable {

    public Button button;
    Stage stage;
    Parent scene;



    @FXML
    private Button imsPartSearchBtn;

    @FXML
    private TextField imsPartSearchTxt;

    @FXML
    private TableView<Part> partTableView;

    @FXML
    private TableColumn<Part, Integer> partIdCol;

    @FXML
    private TableColumn<Part, String> partNameCol;

    @FXML
    private Label label;

    private TableColumn<Part, String> partInvCol;

    @FXML
    private TableColumn<Part, Double> partPriceCol;

    @FXML
    private Button imsPartAddBtn;

    @FXML
    private AnchorPane addPartButton;

    @FXML
    private Button imsSearchBtn;

    @FXML
    private TextField imsProductTxt;

    @FXML
    private TableView<Product> table1;

    @FXML
    private TableColumn<?, ?> productIdCol;

    @FXML
    private void handleButtonAction(ActionEvent event) {
    System.out.println("You clicked me!");
    label.setText("Hello World!");
    private TableColumn<?, ?> productNameCol;

    @FXML
    private TableColumn<?, ?> productInvCol;

    @FXML
    private TableColumn<?, ?> productPriceCol;

    @FXML
    private Button imsAddBtn;

    @FXML
    private Button imsModifyBtn;

    @FXML
    private Button imsDeleteBtn;

    @FXML
    private Button imsExitBtn;

    @FXML
    void addHandler(MouseEvent event) {

    }


    @FXML
    void addHandler1(MouseEvent event) {

    }

    @FXML
    void deleteHandler(MouseEvent event) {

    }

    @FXML
    void deleteHandler1(MouseEvent event) {

    }

    @FXML
    void exitHandler(ActionEvent event) {

    System.exit(0);


    }

    @FXML
    void modifyHandler(MouseEvent event) {

    }

    @FXML
    void modifyHandler1(MouseEvent event) {

    }

    @FXML
    void partOnActionAdd(ActionEvent event) throws IOException {

    stage = (Stage)(( Button)event.getSource()).getScene().getWindow();
    scene = FXMLLoader.load(getClass().getResource("/ViewController/Addpart.fxml"));
    stage.setScene(new Scene(scene));
    stage.show();
    }

    //Part table delete button
    @FXML
    void partOnActionDelete(ActionEvent event) {
    // Delete Part Items
    Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
    alert.setTitle("Confirmation Dialog");
    alert.setHeaderText("Delete Part");
    alert.setContentText("Are you sure you want to delete this part?");

    Optional<ButtonType>result = alert.showAndWait();
    if(result.get() == ButtonType.OK){
    Part partToDelete= partTableView.getSelectionModel().getSelectedItem();
    Inventory.deletePart(partToDelete);
    }

    }

    @FXML
    void partOnActionModify(ActionEvent event) throws IOException{

    stage = (Stage)(( Button)event.getSource()).getScene().getWindow();
    scene = FXMLLoader.load(getClass().getResource("/ViewController/Modifypart.fxml"));
    stage.setScene(new Scene(scene));
    stage.show();

    }

    //Part table search button
    @FXML
    void partOnActionSearch(ActionEvent event) {
    String searchedPart = imsPartSearchTxt.getText();
    for(Part part : Inventory.getAllParts()){
    if(part.getName().equals(searchedPart)||Integer.toString(part.getId()).equals(searchedPart)){
    partTableView.getSelectionModel().select(part);
    }
    }

    }

    @FXML
    void productOnActionAdd(ActionEvent event) throws IOException {

    stage = (Stage)(( Button)event.getSource()).getScene().getWindow();
    scene = FXMLLoader.load(getClass().getResource("/ViewController/Addproduct.fxml"));
    stage.setScene(new Scene(scene));
    stage.show();
    }

    //Product table delete
    @FXML
    void productOnActionDelete(ActionEvent event) {
    // Delete Part Items
    Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
    alert.setTitle("Confirmation Dialog");
    alert.setHeaderText("Delete Product");
    alert.setContentText("Are you sure you want to delete this product?");

    Optional<ButtonType>result = alert.showAndWait();
    if(result.get() == ButtonType.OK){
    Product productToDelete= table1.getSelectionModel().getSelectedItem();
    Inventory.deleteProduct(productToDelete);
    }

    }


    @FXML
    void productOnActionModify(ActionEvent event) throws IOException {

    stage = (Stage)(( Button)event.getSource()).getScene().getWindow();
    scene = FXMLLoader.load(getClass().getResource("/ViewController/Modifyproduct.fxml"));
    stage.setScene(new Scene(scene));
    stage.show();
    }

    //Product table search
    @FXML
    void productOnActionSearch(ActionEvent event) {
    String searchedProduct = imsProductTxt.getText();
    for(Product product : Inventory.getAllProducts()){
    if(product.getName().equals(searchedProduct)||Integer.toString(product.getId()).equals(searchedProduct)){
    table1.getSelectionModel().select(product);
    }
    }
    }

    @FXML
    void searchHandler(MouseEvent event) {

    }

    //Initializes the controller class
    @Override
    public void initialize(URL url, ResourceBundle rb) {
    // TODO
    }

    public void initialize(URL location, ResourceBundle resources) {

    //set the part table data
    partTableView.setItems(Inventory.getAllParts());

    partIdCol.setCellValueFactory(new PropertyValueFactory<>("id"));
    partNameCol.setCellValueFactory(new PropertyValueFactory<>("name"));
    partInvCol.setCellValueFactory(new PropertyValueFactory<>("inv"));
    partPriceCol.setCellValueFactory(new PropertyValueFactory<>("price"));


    //set the product table data
    table1.setItems(Inventory.getAllProducts());

    productIdCol.setCellValueFactory(new PropertyValueFactory<>("id"));
    productNameCol.setCellValueFactory(new PropertyValueFactory<>("name"));
    productInvCol.setCellValueFactory(new PropertyValueFactory<>("inv"));
    productPriceCol.setCellValueFactory(new PropertyValueFactory<>("price"));



    }

    }
  3. Kijimu7 revised this gist Jun 28, 2020. 1 changed file with 331 additions and 0 deletions.
    331 changes: 331 additions & 0 deletions AddpartController.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,331 @@
    package ViewController;


    import javafx.event.ActionEvent;
    import javafx.fxml.FXML;
    import javafx.fxml.FXMLLoader;
    import javafx.fxml.Initializable;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.stage.Stage;
    import model.InHouse;
    import model.Inventory;
    import model.Outsourced;

    import java.io.IOException;
    import java.net.URL;
    import java.util.Random;

    public class AddpartController implements Initializable {
    Inventory inventory;
    private boolean isOutsourced = true;


    Stage stage;
    Parent scene;
    private Object ResourceBundle;
    @FXML

    private Object ActionEvent;


    @Override
    public void initialize(URL location, java.util.ResourceBundle resources) {

    }

    public AddpartController() {

    }

    public AddpartController(Inventory inventory) {
    this.inventory = inventory;
    }


    @FXML
    public Label addPartCnameLbl;

    @FXML
    private RadioButton addPartInhouseRBtn;

    @FXML
    private ToggleGroup toggleGroup;

    @FXML
    private RadioButton addPartOutsourcedRBtn;

    @FXML
    private TextField addPartMinTxt;

    @FXML
    private TextField addPartPriceTxt;

    @FXML
    private TextField addPartCnameTxt;

    @FXML
    private TextField addPartMachineTxt;

    @FXML
    private TextField addPartMaxTxt;

    @FXML
    private TextField addPartInvTxt;

    @FXML
    private TextField addPartNameTxt;

    @FXML
    private TextField addPartIdTxt;

    @FXML
    private TextField addPartDynamicTxt;

    @FXML
    private Button addPartsaveBtn;

    @FXML
    private Button addPartcancelBtn;


    @FXML
    void inhouseRadioButtonSelected(javafx.event.ActionEvent event) {
    isOutsourced = false;
    addPartCnameLbl.setText("Machine ID");
    }

    @FXML
    void outsourcedRadioButtonSelected(javafx.event.ActionEvent event) {
    isOutsourced = true;
    addPartCnameLbl.setText("Company Name");
    }


    @FXML
    void onActionSavePart(ActionEvent event) throws IOException {


    //Create auto Ids
    Random random = new Random();
    int id = random.nextInt(50);


    if (isOutsourced == false) {

    InHouse newInHouse = new InHouse(0, "", 0, 0, 0, 0, 0);

    if (isValid(addPartNameTxt.getText(), addPartPriceTxt.getText(), addPartInvTxt.getText(), addPartMinTxt.getText(),
    addPartMaxTxt.getText(), addPartDynamicTxt.getText())) {

    newInHouse.setId(id);
    if (!addPartNameTxt.getText().isEmpty()) {
    newInHouse.setName(addPartNameTxt.getText());
    }
    if (!addPartPriceTxt.getText().isEmpty()) {
    newInHouse.setName(addPartPriceTxt.getText());
    }
    if (!addPartInvTxt.getText().isEmpty()) {
    newInHouse.setName(addPartInvTxt.getText());
    }
    if (!addPartMinTxt.getText().isEmpty()) {
    newInHouse.setName(addPartMinTxt.getText());
    }
    if (!addPartMaxTxt.getText().isEmpty()) {
    newInHouse.setName(addPartMaxTxt.getText());
    }
    if (!addPartDynamicTxt.getText().isEmpty()) {
    newInHouse.setName(addPartDynamicTxt.getText());
    }

    inventory.addPart(newInHouse);
    System.out.println("Part Added");

    Stage stage;
    Parent root;
    stage = (Stage) addPartsaveBtn.getScene().getWindow();
    FXMLLoader loader = new FXMLLoader(getClass().getResource("/ViewController/MainScreen.fxml"));
    root = loader.load();
    Scene scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
    }

    }else {
    Outsourced newOutsourced = new Outsourced(0, "", 0, 0, 0, 0, "");

    if (isValid(addPartNameTxt.getText(), addPartPriceTxt.getText(), addPartInvTxt.getText(), addPartMinTxt.getText(), addPartMaxTxt.getText(), addPartDynamicTxt.getText())) {

    newOutsourced.setId(id);
    if (!addPartNameTxt.getText().isEmpty()) {
    newOutsourced.setName(addPartNameTxt.getText());
    }
    if (!addPartPriceTxt.getText().isEmpty()) {
    newOutsourced.setName(addPartPriceTxt.getText());
    }
    if (!addPartInvTxt.getText().isEmpty()) {
    newOutsourced.setName(addPartInvTxt.getText());
    }
    if (!addPartMinTxt.getText().isEmpty()) {
    newOutsourced.setName(addPartMinTxt.getText());
    }
    if (!addPartMaxTxt.getText().isEmpty()) {
    newOutsourced.setName(addPartMaxTxt.getText());
    }
    if (!addPartDynamicTxt.getText().isEmpty()) {
    newOutsourced.setName(addPartDynamicTxt.getText());
    }

    inventory.addPart(newOutsourced);
    System.out.println("Part Added");

    Stage stage;
    Parent root;
    stage = (Stage) addPartsaveBtn.getScene().getWindow();
    FXMLLoader loader = new FXMLLoader(getClass().getResource("/ViewController/MainScreen.fxml"));
    root = loader.load();
    Scene scene = new Scene(root);
    stage.setScene(scene);
    stage.show();


    }

    }
    }



    @FXML
    public void onActionCancel(javafx.event.ActionEvent event) throws IOException {

    stage = (Stage) ((Button) event.getSource()).getScene().getWindow();
    scene = FXMLLoader.load(getClass().getResource("MainScreen.fxml"));
    stage.setScene(new Scene((Parent) scene));
    stage.show();
    }




    private boolean isValid(String partName, String partInv, String partPrice, String partMin, String partMax, String toggleGroup ) {

    String errorMessage = "";
    Integer intMin = null, intMax = null;
    boolean isValid;



    if (partName == null || partName.isEmpty()) {
    errorMessage += ("Need to input part name\n");
    }

    try {
    intMin = Integer.parseInt(partMin);
    } catch (NumberFormatException e) {
    errorMessage += ("Min must a number\n");
    }

    try {
    intMax = Integer.parseInt(partMax);
    } catch (NumberFormatException e) {
    errorMessage += ("Maximum must be a number\n");
    }

    try {
    if (intMin > intMax) {
    errorMessage += ("Minimum must be less than maximum \n");
    }
    if (intMin < 0 || intMax < 0) {
    errorMessage += ("Quantity cannot be less than zero\n");
    }
    } catch (NullPointerException e) {
    errorMessage += ("Min and Max cannot be less than zero \n");
    }
    try {
    int intInv = Integer.parseInt(partInv);

    if (intMax != null && intMin != null) {
    if (intInv < intMin || intInv > intMax) {
    errorMessage += ("Inventory must be between minimum and maximum \n");
    }
    } else {
    errorMessage += ("Inventory cannot be blank \n");
    }
    } catch (NumberFormatException e) {
    errorMessage += ("Inventory cannot be blank and must be a number\n");
    }
    try {
    double price = Double.parseDouble(partPrice);
    if (price < 0) {
    errorMessage += ("Price cannot be less than zero\n");
    }
    } catch (NumberFormatException e) {
    errorMessage += ("Price cannot be blank and must be a number\n");
    }

    if (!isOutsourced) {
    if (!toggleGroup.isEmpty()) {
    try {
    Integer.parseInt(toggleGroup);
    } catch (NumberFormatException e) {
    errorMessage += ("MachineId must be a number");
    }
    } else {
    errorMessage += ("MachineId cannot be black\n");
    }
    } else {
    if (toggleGroup.isEmpty()) {
    errorMessage += ("Company name cannot be blank \n");
    }
    }
    if (errorMessage.isEmpty() == true) {
    isValid = true;
    } else {
    isValid = false;
    Alert alert = new Alert(Alert.AlertType.ERROR);
    alert.setTitle("Part Validation error");
    alert.setHeaderText("Error");
    alert.setContentText(errorMessage);
    alert.showAndWait();
    }

    return isValid;
    }

    }



    // // int id = Integer.parseInt(addPartIdTxt.getText());
    // String name = addPartNameTxt.getText();
    // int inv = Integer.parseInt(addPartInvTxt.getText());
    // int max = Integer.parseInt(addPartMaxTxt.getText());
    // int min = Integer.parseInt(addPartMinTxt.getText());
    // double price = Double.parseDouble(addPartPriceTxt.getText());
    //
    //
    // if(addPartInhouseRBtn.isSelected()){
    // int machineId = Integer.parseInt(addPartMachineTxt.getText());
    // InHouse newInhousePart = new InHouse(id, name, price, inv, min, max, machineId);
    // Inventory.addPart(newInhousePart);
    // }
    // if(addPartOutsourcedRBtn.isSelected())
    //
    // {
    // String Cname = addPartCnameTxt.getText();
    // Outsourced newOutsourcedPart = new Outsourced(id, name, price, inv, min, max, Cname);
    // Inventory.addPart(newOutsourcedPart);
    //
    // }










  4. Kijimu7 revised this gist Jun 21, 2020. 1 changed file with 38 additions and 0 deletions.
    38 changes: 38 additions & 0 deletions MainScreenController.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,38 @@
    /*
    * To change this license header, choose License Headers in Project Properties.
    * To change this template file, choose Tools | Templates
    * and open the template in the editor.
    */
    package Main;

    import javafx.event.ActionEvent;
    import javafx.fxml.FXML;
    import javafx.fxml.Initializable;
    import javafx.scene.control.Button;
    import javafx.scene.control.Label;

    import java.net.URL;
    import java.util.ResourceBundle;

    /**
    *
    * @author pinko
    */
    public class MainScreenController implements Initializable {

    public Button button;
    @FXML
    private Label label;

    @FXML
    private void handleButtonAction(ActionEvent event) {
    System.out.println("You clicked me!");
    label.setText("Hello World!");
    }

    @Override
    public void initialize(URL url, ResourceBundle rb) {
    // TODO
    }

    }
  5. Kijimu7 created this gist Jun 21, 2020.
    14 changes: 14 additions & 0 deletions MainScreen.fxml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,14 @@
    <?xml version="1.0" encoding="UTF-8"?>

    <?import java.lang.*?>
    <?import java.util.*?>
    <?import javafx.scene.*?>
    <?import javafx.scene.control.*?>
    <?import javafx.scene.layout.*?>

    <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Main.MainScreenController">
    <children>
    <Button layoutX="126" layoutY="90" text="Click Me!" onAction="#handleButtonAction" fx:id="button" />
    <Label layoutX="126" layoutY="120" minHeight="16" minWidth="69" fx:id="label" />
    </children>
    </AnchorPane>