83550Solution/index.html
JavaScript is disabled on your browser.
inventorysystems/package-summary.html
83550Solution/InventorySystems/build.xml
Builds, tests, and runs the project InventorySystems.
83550Solution/InventorySystems/manifest.mf
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
83550Solution/InventorySystems/nbproject/build-impl.xml
Must set src.dir
Must set test.src.dir
Must set build.dir
Must set dist.dir
Must set build.classes.dir
Must set dist.javadoc.dir
Must set build.test.classes.dir
Must set build.test.results.dir
Must set build.classes.excludes
Must set dist.jar
Must set javac.includes
No tests executed.
Must set JVM to use for profiling in profiler.info.jvm
Must set profiler agent JVM arguments in profiler.info.jvmargs.agent
Must select some files in the IDE or set javac.includes
To run this application from the command line without Ant, try:
java -jar "${dist.jar.resolved}"
Must select one file in the IDE or set run.class
Must select one file in the IDE or set run.class
Must select one file in the IDE or set debug.class
Must select one file in the IDE or set debug.class
Must set fix.includes
This target only works when run from inside the NetBeans IDE.
Must select one file in the IDE or set profile.class
This target only works when run from inside the NetBeans IDE.
This target only works when run from inside the NetBeans IDE.
This target only works when run from inside the NetBeans IDE.
Must select one file in the IDE or set run.class
Must select some files in the IDE or set test.includes
Must select one file in the IDE or set run.class
Must select one file in the IDE or set applet.url
Must select some files in the IDE or set javac.includes
Some tests failed; see details above.
Must select some files in the IDE or set test.includes
Some tests failed; see details above.
Must select some files in the IDE or set test.class
Must select some method in the IDE or set test.method
Some tests failed; see details above.
Must select one file in the IDE or set test.class
Must select one file in the IDE or set test.class
Must select some method in the IDE or set test.method
Must select one file in the IDE or set applet.url
Must select one file in the IDE or set applet.url
83550Solution/InventorySystems/nbproject/genfiles.properties
build.xml.data.CRC32=4fff691a
build.xml.script.CRC32=e8447d7e
[email protected]# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=4fff691a
nbproject/build-impl.xml.script.CRC32=b49ede17
nbproject/
[email protected]83550Solution/InventorySystems/nbproject/private/config.properties
83550Solution/InventorySystems/nbproject/private/private.properties
compile.on.save=true
do.depend=false
do.jar=true
do.jlink=false
file.reference.jfoenix-9.0.8.jar=F:\\GreyNodes\\jfoenix-9.0.8.jar
javac.debug=true
javadoc.preview=true
jlink.strip=false
user.properties.file=C:\\Users\\Acer\\AppData\\Roaming\\NetBeans\\12.2\\build.properties
83550Solution/InventorySystems/nbproject/private/private.xml
83550Solution/InventorySystems/nbproject/project.properties
annotation.processing.enabled=true
annotation.processing.enabled.in.editor=false
annotation.processing.processors.list=
annotation.processing.run.all.processors=true
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
application.title=InventorySystems
application.vendor=Acer
build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form
# This directory is removed when the project is cleaned:
build.dir=build
build.generated.dir=${build.dir}/generated
build.generated.sources.dir=${build.dir}/generated-sources
# Only compile against the classpath explicitly listed here:
build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes
build.test.results.dir=${build.dir}/test/results
# Uncomment to specify the preferred debugger connection transport:
#debug.transport=dt_socket
debug.classpath=\
${run.classpath}
debug.modulepath=\
${run.modulepath}
debug.test.classpath=\
${run.test.classpath}
debug.test.modulepath=\
${run.test.modulepath}
# Files in build.classes.dir which should be excluded from distribution jar
dist.archive.excludes=
# This directory is removed when the project is cleaned:
dist.dir=dist
dist.jar=${dist.dir}/InventorySystems.jar
dist.javadoc.dir=${dist.dir}/javadoc
dist.jlink.dir=${dist.dir}/jlink
dist.jlink.output=${dist.jlink.dir}/InventorySystems
endorsed.classpath=
excludes=
file.reference.jfoenix-9.0.8.jar=C:\\Users\\Acer\\Desktop\\jfoenix-9.0.8.jar
file.reference.jfoenix-9.0.8.jar-1=F:\\GreyNodes\\jfoenix-9.0.8.jar
includes=**
jar.compress=false
javac.classpath=\
${libs.JavaFX.classpath}:\
${libs.JavfSDK.classpath}:\
${file.reference.jfoenix-9.0.8.jar}:\
${file.reference.jfoenix-9.0.8.jar-1}
# Space-separated list of extra javac options
javac.compilerargs=
javac.deprecation=false
javac.external.vm=true
javac.modulepath=\
${libs.JavaFX.classpath}:\
${libs.JavfSDK.classpath}
javac.processormodulepath=
javac.processorpath=\
${javac.classpath}
javac.source=11
javac.target=11
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}
javac.test.modulepath=\
${javac.modulepath}
javac.test.processorpath=\
${javac.test.classpath}
javadoc.additionalparam=
javadoc.author=false
javadoc.encoding=${source.encoding}
javadoc.html5=false
javadoc.noindex=false
javadoc.nonavbar=false
javadoc.notree=false
javadoc.private=true
javadoc.splitindex=true
javadoc.use=true
javadoc.version=true
javadoc.windowtitle=
# The jlink additional root modules to resolve
jlink.additionalmodules=
# The jlink additional command line parameters
jlink.additionalparam=
jlink.launcher=true
jlink.launcher.name=InventorySystems
main.class=inventorysystems.InventorySystems
manifest.file=manifest.mf
meta.inf.dir=${src.dir}/META-INF
mkdist.disabled=false
platform.active=default_platform
run.classpath=\
${javac.classpath}:\
${build.classes.dir}
# Space-separated list of JVM arguments used when running the project.
# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
# To set system properties for unit tests define test-sys-prop.name=value:
run.jvmargs=--module-path /path/to/JavaFX/lib --add-modules=javafx.controls,javafx.fxml
run.modulepath=\
${javac.modulepath}:\
${libs.JavfSDK.classpath}:\
${libs.JavaFX.classpath}
run.test.classpath=\
${javac.test.classpath}:\
${build.test.classes.dir}
run.test.modulepath=\
${javac.test.modulepath}
source.encoding=UTF-8
src.dir=src
test.src.dir=test
83550Solution/InventorySystems/nbproject/project.xml
org.netbeans.modules.java.j2seproject
InventorySystems
83550Solution/InventorySystems/src/inventorysystems/AddPartInterface.fxml
83550Solution/InventorySystems/src/inventorysystems/AddPartInterfaceController.java
83550Solution/InventorySystems/src/inventorysystems/AddPartInterfaceController.java
package inventorysystems;
/*
* 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.
*/
import com.jfoenix.controls.JFXRadioButton;
import com.jfoenix.controls.JFXTextField;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.control.Alert;
import javafx.scene.control.Label;
import javafx.stage.Stage;
/*
*It's the Add Parts/ Modify Parts window controller class
*It is method to initialize things at startup
*/
public class AddPartInterfaceController implements Initializable {
/*
*All FXML Button, Field, RadioButton,Label Declaration
*/
@FXML
private JFXTextField partCompanyNameField, partPriceField, partMaxField,
partMinField, partNameTextField, partLnvField, partIDTextField, partMachineIDField;
@FXML
private JFXRadioButton inHouseButton, outsourcedButton;
@FXML
private Label partCompanyNameLabel, partMachineIDLabel;
@FXML
private javafx.scene.control.Button closeButton;
/*
*Parts Class object declaration for future use
*/
Part selectedPart;
InHouse selectedInhouse;
Outsourced selectedOutsourced;
/*
*Adding new data or editing previous data checker boolean variable
*/
Boolean editData = false, inHouse = true;
/*
*Parent class reference variable declaration
*/
private IMSFXMLDocumentController documentController;
/* ID of associated part, default -1 for individual parts*/
int asProID = -1;
/*
Close/Cancel Button on Add/Modify Window to return to main window
*/
@FXML
void closeButtonAction(ActionEvent event) {
final Node source = (Node) event.getSource();
final Stage stage = (Stage) source.getScene().getWindow();
stage.close();
}
/*
*This method is called upon outsource button press to disable company name
*and company label as required
*/
@FXML
void outsourceButtonPress(ActionEvent event) {
// On outsourced button press hide the machine id label and field
partCompanyNameField.setVisible(true);
partCompanyNameLabel.setVisible(true);
inHouseButton.setSelected(false);
inHouse = false;
outsourcedButton.setSelected(true);
// On outsourced button press make the company name field and label visible
partMachineIDField.setVisible(false);
partMachineIDLabel.setVisible(false);
}
/*
*this method enables the company name and field for out-sourced parts
*/
@FXML
void inHouseAction(ActionEvent event) {
// On inHouse button press hide the company name label and field
partCompanyNameField.setVisible(false);
partCompanyNameLabel.setVisible(false);
outsourcedButton.setSelected(false);
inHouse = true;
inHouseButton.setSelected(true);
// On inhouse button press show the machine id field and label visible
partMachineIDField.setVisible(true);
partMachineIDLabel.setVisible(true);
}
/*
*This button action triggers the addition of new data or
*update of existing one by condition
*/
@FXML
void partSaveButtonAction(ActionEvent event) {
if (Integer.parseInt(partMaxField.getText()) > Integer.parseInt(partMinField.getText())) {
if (Integer.parseInt(partLnvField.getText()) < Integer.parseInt(partMaxField.getText())) {
String companyNameOrMachineID;
if (inHouse) {
companyNameOrMachineID = partMachineIDField.getText();
} else {
companyNameOrMachineID = partCompanyNameField.getText();
}
// If edit data flag is risen updatePart method is called upon to modify dara row
if (editData == true) {
inHouseButton.setDisable(false);
outsourcedButton.setDisable(false);
documentController.updatePart(
Integer.parseInt(partIDTextField.getText()), // Parsing String to Integer format to send as parameter
partNameTextField.getText(),
Integer.parseInt(partLnvField.getText()), // Parsing String to Integer format to send as parameter
Double.parseDouble(partPriceField.getText()), // Parsing String to Double format to send as parameter
selectedInhouse,
selectedOutsourced,
Integer.parseInt(partMaxField.getText()), // Parsing max value from text field to integer
Integer.parseInt(partMinField.getText()), // Parsing min value from text field to integer
companyNameOrMachineID,
inHouse,
asProID
);
// Show data update successful dialog
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Success!");
alert.setHeaderText("Successfully Updated Part Data!");
alert.setContentText(null);
alert.showAndWait();
} else { // If edit data flag is not risen addNewPart method is called upon to add new dara row
documentController.addNewPart(
Integer.parseInt(partIDTextField.getText()), // Parsing String to Integer format to send as parameter
partNameTextField.getText(),
Integer.parseInt(partLnvField.getText()), // Parsing String to Integer format to send as parameter
Double.parseDouble(partPriceField.getText()), // Parsing String to Double format to send as parameter
Integer.parseInt(partMaxField.getText()), // Parsing max value from text field to integer
Integer.parseInt(partMinField.getText()), // Parsing min value from text field to integer
companyNameOrMachineID,
inHouse,
asProID
);
// Show succefully new part addition dialog
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Success!");
alert.setHeaderText("Successfully Added new Part!");
alert.setContentText(null);
alert.showAndWait();
}
// Closing the window after the save/update has been successfully finished
final Node source = (Node) event.getSource();
final Stage stage = (Stage) source.getScene().getWindow();
stage.close();
} else {
// Show succefully new part addition dialog
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Error!");
alert.setHeaderText("Max value can not be lower then inventory level value!");
alert.setContentText(null);
alert.showAndWait();
}
} else {
// Show succefully new part addition dialog
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Error!");
alert.setHeaderText("Max value can not be lower then min value!");
alert.setContentText(null);
alert.showAndWait();
}
}
@Override
public void initialize(URL url, ResourceBundle rb) {
}
/* Default parent controller class setter method*/
void setParentController(IMSFXMLDocumentController documentController) {
this.documentController = documentController;
}
/*
*This method is used to gram data of mouse pressed TableView Row data
*to send to the modify window*/
void setData(Part selectedPart, Boolean inHouse) {
this.selectedPart = selectedPart;
partIDTextField.setText(String.valueOf(selectedPart.getId())); // Setting value of part id to the Modify window
partNameTextField.setText("" + selectedPart.getName()); // Setting value of part name to the Modify window
partLnvField.setText("" + selectedPart.getStock()); // Setting value of part lnv to the Modify window
partPriceField.setText("" + selectedPart.getPrice()); // Setting value of part price to the Modify window
editData = true; // Setting value of editData boolean flas to true for the Modify window to activate
partMaxField.setText("" + selectedPart.getMax());
partMinField.setText("" + selectedPart.getMin());
if (inHouse) {
inHouseAction(null);
outsourcedButton.setDisable(true);
selectedInhouse = (InHouse) selectedPart;
partMachineIDField.setText("" + selectedInhouse.getMachineId()); // setting machineid for inhouse parts
} else {
outsourceButtonPress(null);
inHouseButton.setDisable(true);
selectedOutsourced = (Outsourced) selectedPart;
partCompanyNameField.setText("" + selectedOutsourced.getCompanyName()); // setting company name for outsourced parts
}
}
/* setting auto generated id for new part*/
void setID(int generateID) {
partIDTextField.setText(String.valueOf(generateID));
}
/* For associating a part witha product*/
void setAssociatedPart(int asProID) {
this.asProID = asProID;
}
}
83550Solution/InventorySystems/src/inventorysystems/AddProductInterface.fxml
83550Solution/InventorySystems/src/inventorysystems/AddProductInterfaceController.java
83550Solution/InventorySystems/src/inventorysystems/AddProductInterfaceController.java
package inventorysystems;
/*
* 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.
*/
import com.jfoenix.controls.JFXRadioButton;
import com.jfoenix.controls.JFXTextField;
import java.net.URL;
import java.util.Optional;
import java.util.ResourceBundle;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.control.Alert;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.MouseEvent;
import javafx.stage.Stage;
/*
*It's the Add Products/ Modify Products window controller class
*/
public class AddProductInterfaceController implements Initializable {
/*
*All FXML Button, Field, RadioButton,Label Declaration
*/
@FXML
private JFXTextField productPriceField, productMaxField, productMinField, productNameTextField, productLnvField, productIDTextField;
@FXML
TableView
partsTable, partsTable1;
@FXML
private TableColumn partsID, partsStock, partsID1, partsStock1;
@FXML
private TableColumn partsPrice, partsPrice1;
@FXML
private TableColumn partsName, partsName1;
private IMSFXMLDocumentController documentController;
Product productSelected;
Part associatedProductSelected;
Part partSelected;
Boolean editData = false;
ObservableList existingProductParts = FXCollections.observableArrayList();
/*
*Method is called when a product associated part is
*selected and De-Associate button is pressed*/
@FXML
void productPartDeAssociateAction(ActionEvent event) {
//when a part is selected
if (associatedProductSelected != null) {
// showing the causing message and confirm dialog
Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
alert.setTitle("Causion!");
alert.setHeaderText("Are you sure you want to De-Associate Part with ID : " + associatedProductSelected.getId() + " From this Product?");
alert.setContentText(null);
Optional result = alert.showAndWait();
// when confirmed
if (result.get() == ButtonType.OK) {
// delete parts from products table and deassociate them
partsTable.getItems().remove(associatedProductSelected);
existingProductParts.remove(associatedProductSelected);
if (existingProductParts.isEmpty() == false) {
existingProductParts.forEach(part -> productSelected.associatedPart(part));
} else {
productSelected.associatedPart(null);
}
}
} else {
// when no part is selected
Alert alert = new Alert(Alert.AlertType.WARNING);
alert.setTitle("Error!");
alert.setHeaderText("Please, Select at-least one part to perform delete operation!");
alert.setContentText(null);
alert.showAndWait();
}
}
/* when close button on product window is clicked*/
@FXML
void closeButtonAction(ActionEvent event) {
// Close current window
final Node source = (Node) event.getSource();
final Stage stage = (Stage) source.getScene().getWindow();
stage.close();
}
/* This method is called when new products associated new part add button is clicked*/
@FXML
void addProductAssociatedPart(ActionEvent event) {
partsTable.getItems().setAll(partSelected);
partsID.setCellValueFactory(new PropertyValueFactory<>("id"));
partsStock.setCellValueFactory(new PropertyValueFactory<>("stock"));
partsPrice.setCellValueFactory(new PropertyValueFactory<>("price"));
partsName.setCellValueFactory(new PropertyValueFactory<>("name"));
existingProductParts.add(partSelected);
}
/* This method is called when in products window save button is pressed*/
@FXML
void productSaveButtonAction(ActionEvent event) {
// if product has at-least one parts
if (existingProductParts.isEmpty() == false) {
// If the inventory level is lower then max
if (Integer.parseInt(productMaxField.getText()) > Integer.parseInt(productMinField.getText())) {
// If max is lower then min
if (Integer.parseInt(productLnvField.getText()) < Integer.parseInt(productMaxField.getText())) {
// If the modify button was clicked
if (editData == true) {
// update the product information
documentController.updateProduct(
Integer.parseInt(productIDTextField.getText()),
productNameTextField.getText(),
Integer.parseInt(productLnvField.getText()),
Double.parseDouble(productPriceField.getText()),
productSelected,
Integer.parseInt(productMaxField.getText()),
Integer.parseInt(productMinField.getText()), existingProductParts
);
// Show succefully new part addition dialog
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Success!");
alert.setHeaderText("Successfully Updated Product Information!");
alert.setContentText(null);
alert.showAndWait();
} else {
// if add new product button was pressed
// add the new part to the main arraylist
documentController.addNewProduct(
Integer.parseInt(productIDTextField.getText()),
productNameTextField.getText(),
Integer.parseInt(productLnvField.getText()),
Double.parseDouble(productPriceField.getText()),
Integer.parseInt(productMaxField.getText()),
Integer.parseInt(productMinField.getText()), existingProductParts
);
// Show succefully new part addition dialog
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Success!");
alert.setHeaderText("Successfully Added new Product!");
alert.setContentText(null);
alert.showAndWait();
}
// Closing the window after the save/update has been successfully finished
final Node source = (Node) event.getSource();
final Stage stage = (Stage) source.getScene().getWindow();
stage.close();
} else {
// Show succefully new part addition dialog
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Error!");
alert.setHeaderText("Max value can not be lower then inventory level value!");
alert.setContentText(null);
alert.showAndWait();
}
} else {
// Show succefully new part addition dialog
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Error!");
alert.setHeaderText("Max value can not be lower then min value!");
alert.setContentText(null);
alert.showAndWait();
}
} else {
// Show succefully new part addition dialog
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Error!");
alert.setHeaderText("Products must have atleast one part!");
alert.setContentText(null);
alert.showAndWait();
}
}
@Override
public void initialize(URL url, ResourceBundle rb) {
partsTable.setOnMousePressed(new EventHandler() {
@Override
public void handle(MouseEvent event) {
// Getting the selected object and saving for use
associatedProductSelected = partsTable.getSelectionModel().getSelectedItem();
}
});
}
/* default parent controller setter method*/
void setParentController(IMSFXMLDocumentController documentController) {
this.documentController = documentController;
}
/*
*This method receives product data from main window when a product is selected
*and modify button is pressed*/
void setData(Product productSelected) {
productIDTextField.setText("" + productSelected.getID());
productNameTextField.setText(productSelected.getName());
productLnvField.setText("" + productSelected.getStock());
productPriceField.setText("" + productSelected.getPrice());
productMaxField.setText("" + productSelected.getMax());
productMinField.setText("" + productSelected.getMin());
existingProductParts = productSelected.getAllAssociatedParts();
partsTable.getItems().setAll(existingProductParts);
partsID.setCellValueFactory(new PropertyValueFactory<>("id"));
partsStock.setCellValueFactory(new PropertyValueFactory<>("stock"));
partsPrice.setCellValueFactory(new PropertyValueFactory<>("price"));
partsName.setCellValueFactory(new PropertyValueFactory<>("name"));
this.productSelected = productSelected;
editData = true;
}
/*This is th method to set part table data*/
void setPartTable(ObservableList allParts) {
partsTable1.getItems().setAll(allParts);
partsID1.setCellValueFactory(new PropertyValueFactory<>("id"));
partsStock1.setCellValueFactory(new PropertyValueFactory<>("stock"));
partsPrice1.setCellValueFactory(new PropertyValueFactory<>("price"));
partsName1.setCellValueFactory(new PropertyValueFactory<>("name"));
// setting add click event for parts selection for future delete or modify action
partsTable1.setOnMousePressed(new EventHandler() {
@Override
public void handle(MouseEvent event) {
// Getting the selected object and saving for use
partSelected = partsTable1.getSelectionModel().getSelectedItem();
}
});
}
/* Product id auto generation for new product*/
void setData(int generateProductsID) {
productIDTextField.setText("" + generateProductsID);
}
}
83550Solution/InventorySystems/src/inventorysystems/IMSFXMLDocument.fxml
83550Solution/InventorySystems/src/inventorysystems/IMSFXMLDocumentController.java
83550Solution/InventorySystems/src/inventorysystems/IMSFXMLDocumentController.java
package inventorysystems;
/*
* 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.
*/
import com.jfoenix.controls.JFXTextField;
import java.io.IOException;
import java.net.URL;
import java.util.Optional;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.collections.transformation.FilteredList;
import javafx.collections.transformation.SortedList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.ButtonType;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.MouseEvent;
import javafx.stage.Stage;
/**
*
* @author NixonOK
*/
/*
*It's the Main/First window controller class*/
public class IMSFXMLDocumentController implements Initializable {
/*
*All FXML Button, Field, RadioButton,Label Declaration */
@FXML
TableView productTable;
@FXML
private TableColumn productID, productStock;
@FXML
private TableColumn productPrice;
@FXML
private TableColumn productName;
@FXML
private JFXTextField productFilterString;
@FXML
TableView partsTable;
@FXML
private TableColumn partsID, partsStock;
@FXML
private TableColumn partsPrice;
@FXML
private TableColumn partsName;
@FXML
private JFXTextField partsFilterString;
/*
*Parts/Products data collection array list
*/
ObservableList parts = FXCollections.observableArrayList();
ObservableList inHouses = FXCollections.observableArrayList();
ObservableList outSourced = FXCollections.observableArrayList();
ObservableList products = FXCollections.observableArrayList();
Boolean inHouse;
Part partSelected = null;
InHouse inHouseSelected = null;
Outsourced outSourcedSelected = null;
Product productSelected = null;
SortedList sortedData;
/*
*Runs at the start of the windows life circle
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
//Setting all elements of products method to productTable
productTable.getItems().setAll(products());
//Setting table column controller variables
productID.setCellValueFactory(new PropertyValueFactory<>("id"));
productStock.setCellValueFactory(new PropertyValueFactory<>("stock"));
productPrice.setCellValueFactory(new PropertyValueFactory<>("price"));
productName.setCellValueFactory(new PropertyValueFactory<>("name"));
//Setting onMousePress event handler for detecting click on table element for guture modify and delete action
productTable.setOnMousePressed(new EventHandler() {
@Override
public void handle(MouseEvent event) {
// Saving the item selected by user for future action
productSelected = productTable.getSelectionModel().getSelectedItem();
}
});
// Setting all eliments of products method to productTable
partsTable.getItems().setAll(inHouses);
partsTable.getItems().setAll(outSourced);
// Setting table collumn controller variables
partsID.setCellValueFactory(new PropertyValueFactory<>("id"));
partsStock.setCellValueFactory(new PropertyValueFactory<>("stock"));
partsPrice.setCellValueFactory(new PropertyValueFactory<>("price"));
partsName.setCellValueFactory(new PropertyValueFactory<>("name"));
// Setting onMousePress event handler for detecting click on table element for guture modify and delete action
partsTable.setOnMousePressed(new EventHandler() {
@Override
public void handle(MouseEvent event) {
// Saving the item selected by user for future action
partSelected = partsTable.getSelectionModel().getSelectedItem();
}
});
}
/*
*Method is called when "Add" button on Parts Table is pressed
*/
@FXML
void partAddButtonAction(ActionEvent event) {
// Load "Add Part" interface
try {
FXMLLoader loader = new FXMLLoader(getClass().getResource("AddPartInterface.fxml"));
Parent root = (Parent) loader.load();
Stage stage = new Stage();
stage.setTitle("Add Part Window");
stage.setScene(new Scene(root));
loader.getController()
.setParentController(this);
AddPartInterfaceController api = loader.getController();
api.setID(generatePartsID());
stage.show();
} catch (IOException ex) {
Logger.getLogger(IMSFXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
}
}
/*
*Method is called when "Modify" button on parts Table is pressed
*/
@FXML
void partsModifyButtonAction(ActionEvent event) {
// Checking is any parts on table is selected
if (partSelected != null) {
try {
// Loading the modify part window
FXMLLoader loader = new FXMLLoader(getClass().getResource("AddPartInterface.fxml"));
Parent root = (Parent) loader.load();
Stage stage = new Stage();
stage.setTitle("Modify Part Window");
stage.setScene(new Scene(root));
loader.getController()
.setParentController(this);
AddPartInterfaceController api = loader.getController();
// Sending the selected part object to the modify part class for operation
if (partSelected instanceof inventorysystems.Outsourced) {
api.setData(partSelected, false);
} else {
api.setData(partSelected, true);
}
stage.show();
} catch (IOException ex) {
Logger.getLogger(IMSFXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
// When no part was selected show alert to avoid exception
Alert alert = new Alert(AlertType.INFORMATION);
alert.setTitle("Error!");
alert.setHeaderText("Please, Select a part to modify");
alert.setContentText(null);
alert.showAndWait();
}
}
/*
*Method is called when "Delete" button on Parts table is pressed
*/
@FXML
void deletePartsAction(ActionEvent event) {
// Checking If the one part is selected and it is not associated with any products
if (partSelected != null) {
if (products.isEmpty() == false) {
products.forEach(product -> {
ObservableList associatedPart = product.getAllAssociatedParts();
if (associatedPart.contains(partSelected)) {
Alert alert = new Alert(AlertType.CONFIRMATION);
alert.setTitle("Error!");
alert.setHeaderText("Selected part is associated with Product ID : " + product.getID() + "\nCan't delete the item directly, Please, Go to the modify product section.");
alert.setContentText(null);
Optional result = alert.showAndWait();
if (result.get() == ButtonType.OK) {
try {
FXMLLoader loader = new FXMLLoader(getClass().getResource("AddProductInterface.fxml")); // Loading the modify product window for modification
Parent root = (Parent) loader.load();
Stage stage = new Stage();
stage.setTitle("Update Product Window");
stage.setScene(new Scene(root));
loader.getController()
.setParentController(this);
AddProductInterfaceController api = loader.getController();
api.setPartTable(parts);
api.setData(product);
stage.show();
} catch (IOException ex) {
Logger.getLogger(IMSFXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
});
} else {
Alert alert = new Alert(AlertType.CONFIRMATION);
alert.setTitle("Causion!");
alert.setHeaderText("Are you sure you want to delete Part ID : " + partSelected.getId() + "?");
alert.setContentText(null);
Optional result = alert.showAndWait();
if (result.get() == ButtonType.OK) {
// Upon conformation remove the selected part from the table
partsTable.getItems().remove(partSelected);
parts.remove(partSelected);
}
}
} else {
Alert alert = new Alert(AlertType.WARNING);
alert.setTitle("Error!");
alert.setHeaderText("Please, Select at-least one part to perform delete operation!");
alert.setContentText(null);
alert.showAndWait();
}
}
/*
*Method is called when "Add" button on Product table is pressed
*/
@FXML
void productAddButtonAction(ActionEvent event) {
try {
// Load the AddProductInterface
FXMLLoader loader1 = new FXMLLoader(getClass().getResource("AddProductInterface.fxml"));
Parent root1 = (Parent) loader1.load();
Stage stage1 = new Stage();
stage1.setTitle("Add Product Window");
stage1.setScene(new Scene(root1));
loader1.getController()
.setParentController(this);
AddProductInterfaceController api = loader1.getController();
api.setData(generateProductsID());
api.setPartTable(parts);
stage1.show();
} catch (IOException ex) {
Logger.getLogger(IMSFXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
}
}
/*
Method is called when "Modify" button on products table is pressed
*/
@FXML
void productModifyButtonAction(ActionEvent event) {
if (productSelected != null) {
try {
// Load the add product interface
FXMLLoader loader = new FXMLLoader(getClass().getResource("AddProductInterface.fxml"));
Parent root = (Parent) loader.load();
Stage stage = new Stage();
stage.setTitle("Update Product Window");
stage.setScene(new Scene(root));
loader.getController()
.setParentController(this);
AddProductInterfaceController api = loader.getController();
// Set the selected products data to the add product interface to auto fill all the fields
api.setPartTable(parts);
api.setData(productSelected);
stage.show();
} catch (IOException ex) {
Logger.getLogger(IMSFXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
Alert alert = new Alert(AlertType.WARNING);
alert.setTitle("Error!");
alert.setHeaderText("Please, Select at-least one part to modify!");
alert.setContentText(null);
alert.showAndWait();
}
}
/* Generates unique id for each new item */
int generatePartsID() {
int a = 1;
for (Part o : parts) {
if (o.getId() >= a) {
a = o.getId() + 1;
}
}
return a;
}
/*Generates unique id for each new item */
int generateProductsID() {
int a = 1;
for (Product o : products) {
if (o.getID() >= a) {
a = o.getID() + 1;
}
}
return a;
}
/*
*Method is called when "Search" button on Parts table is pressed
*/
@FXML
void partsSearchButtonAction(ActionEvent event) {
FilteredList filteredData = new FilteredList<>(parts, p -> true);
filteredData.setPredicate(Part -> {
// If filter text is empty, display all persons.
if (partsFilterString.getText() == null || partsFilterString.getText().isEmpty()) {
return true;
}
String lowerCaseFilter = partsFilterString.getText().toLowerCase();
// Filter matches first name and id
if (Part.getName().toLowerCase().contains(lowerCaseFilter)
|| Integer.toString(Part.getId()).contains(lowerCaseFilter)) {
return true;
}
return false; // Does not match.
});
// Wrap the FilteredList in a SortedList.
sortedData = new SortedList<>(filteredData);
// Bind the SortedList comparator to the TableView comparator.
sortedData.comparatorProperty().bind(partsTable.comparatorProperty());
// Add sorted (and filtered) data to the table.
partsTable.setItems(sortedData);
}
@FXML
void exitButton(ActionEvent event) {
System.exit(0);
}
/*
Method is called when "Delete" button on products table is pressed
*/
@FXML
void deleteProductSelected(ActionEvent event) {
// If any product is selected
if (productSelected != null) {
Alert alert = new Alert(AlertType.CONFIRMATION);
alert.setTitle("Causion!");
alert.setHeaderText("Are you sure you want to delete Part ID : " + productSelected.getID() + "?");
String warningText = "Deleting this product will also delete assosciated parts:";
// Showing all the parts associated with the part deleting in the warning
for (Part p : productSelected.getAllAssociatedParts()) {
if (p.getId() == productSelected.getID()) {
warningText += "\nProduct ID : " + p.getId();
}
}
alert.setContentText(warningText);
Optional result = alert.showAndWait();
if (result.get() == ButtonType.OK) {
productTable.getItems().remove(productSelected);
products.remove(productSelected);
Alert alert1 = new Alert(AlertType.INFORMATION);
alert1.setTitle("Success!");
alert1.setHeaderText("Successfully deleted product with all associated parts!");
alert1.setContentText(null);
alert1.showAndWait();
}
} else {
// Showing no product selected dialog box
Alert alert = new Alert(AlertType.WARNING);
alert.setTitle("Error!");
alert.setHeaderText("Please, Select at-least one part to perform delete operation!");
alert.setContentText(null);
alert.showAndWait();
}
}
/*
*Method is called when "Search" button on products table is pressed
*/
@FXML
void productSearchButtonAction(ActionEvent event) {
FilteredList filteredData = new FilteredList<>(products, p -> true);
filteredData.setPredicate(Product -> {
// If filter text is empty, display all persons.
if (productFilterString.getText() == null || productFilterString.getText().isEmpty()) {
return true;
}
String lowerCaseFilter = productFilterString.getText().toLowerCase();
// Filter matches name and id.
if (Product.getName().toLowerCase().contains(lowerCaseFilter)
|| Integer.toString(Product.getID()).contains(lowerCaseFilter)) {
return true;
}
return false; // Does not match.
});
// Wrap the FilteredList in a SortedList.
SortedList sortedData1 = new SortedList<>(filteredData);
// Bind the SortedList comparator to the TableView comparator.
sortedData1.comparatorProperty().bind(productTable.comparatorProperty());
// Add sorted (and filtered) data to the table.
productTable.setItems(sortedData1);
}
// initial parts list
public ObservableList parts() {
return parts;
}
// initial products list
public ObservableList products() {
return products;
}
/*
*method receives parameters from add part window
*/
public void addNewPart(int pID, String pName, int pLevel, double pCost, int pMax, int pMin, String pCompMac, Boolean inHouse, int asID) {
// adds new parts to arraylist
if (inHouse) {
parts.add(new InHouse(pID, pName, pCost, pLevel, pMin, pMax, Integer.parseInt(pCompMac)));
} else {
parts.add(new Outsourced(pID, pName, pCost, pLevel, pMin, pMax, pCompMac));
}
partsTable.getItems().clear();
partsTable.getItems().setAll(parts);
}
/*
method receives parameters from add products window
*/
public void addNewProduct(int pID, String pName, int pLevel, double pCost, int pMax, int pMin,
ObservableList associateParts) {
// adds new products to arraylist
products.add(new Product(pID, pName, pLevel, pCost, pMax, pMin, associateParts));
productTable.getItems().clear();
productTable.getItems().setAll(products);
}
/**
* Receives parameters from the modify item window
*/
public void updatePart(int pID, String pName, int pLevel, double pCost, InHouse selectedInhouse,
Outsourced selectedOutsourced, int pMax, int pMin, String pCompMach, Boolean inHouse, int asID) {
// setting the modified values
if (inHouse) {
selectedInhouse.setId(pID);
selectedInhouse.setName(pName);
selectedInhouse.setStock(pLevel);
selectedInhouse.setPrice(pCost);
selectedInhouse.setMax(pMax);
selectedInhouse.setMin(pMin);
selectedInhouse.setMachineId(Integer.parseInt(pCompMach));
} else {
selectedOutsourced.setId(pID);
selectedOutsourced.setName(pName);
selectedOutsourced.setStock(pLevel);
selectedOutsourced.setPrice(pCost);
selectedOutsourced.setMax(pMax);
selectedOutsourced.setMin(pMin);
selectedOutsourced.setCompanyName(pCompMach);
}
partsTable.getItems().clear();
partsTable.getItems().setAll(parts);
}
// Receives parameters from the modify item window
void updateProduct(int pID, String pName, int pLevel, double pCost, Product productSelected,
int pMax, int pMin, ObservableList associateParts) {
// setting the modified values
productSelected.setID(pID);
productSelected.setName(pName);
productSelected.setpPrice(pCost);
productSelected.setStock(pLevel);
productSelected.settMax(pMax);
productSelected.setMin(pMin);
associateParts.forEach(part -> productSelected.associatedPart(part));
productTable.getItems().clear();
productTable.getItems().setAll(products);
}
}
83550Solution/InventorySystems/src/inventorysystems/InHouse.java
83550Solution/InventorySystems/src/inventorysystems/InHouse.java
/*
* 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 inventorysystems;
/**
*
* @author Acer
*/
public class InHouse extends Part {
private int machineId;
public InHouse(int id, String name, double price, int stock, int min, int max, int machineId) {
super(id, name, price, stock, min, max);
this.machineId = machineId;
}
public int getMachineId() {
return machineId;
}
public void setMachineId(int machineId) {
this.machineId = machineId;
}
}
83550Solution/InventorySystems/src/inventorysystems/InventorySystems.java
83550Solution/InventorySystems/src/inventorysystems/InventorySystems.java
/*
* 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 inventorysystems;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.collections.ObservableList;
import javafx.collections.transformation.FilteredList;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
/**
*
* @author Acer
*/
public class InventorySystems extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("IMSFXMLDocument.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
private ObservableList allParts;
private ObservableList allProducts;
public void addPart(Part newPart) {
allParts.add(newPart);
}
public void addProduct(Product newProduct) {
allProducts.add(newProduct);
}
public Part lookupPart(int partId) {
return allParts.get(partId);
}
public Product lookupProduct(int productId) {
return allProducts.get(productId);
}
public ObservableList lookupPart(String partName) {
FilteredList filteredData = new FilteredList<>(allParts, p -> true);
filteredData.setPredicate(Part -> {
String lowerCaseFilter = partName.toLowerCase();
//boolean isFiltered =false;
if (Part.getName().toLowerCase().contains(lowerCaseFilter)) {
return true;
} else {
return false;
}
});
return allParts;
}
public ObservableList lookupProduct(String productName) {
FilteredList filteredData = new FilteredList<>(allProducts, p -> true);
filteredData.setPredicate(Product -> {
String lowerCaseFilter = productName.toLowerCase();
//boolean isFiltered =false;
if (Product.getName().toLowerCase().contains(lowerCaseFilter)) {
return true;
} else {
return false;
}
});
return allProducts;
}
public void updatePart(int index, Part selectedPart) {
allParts.set(index, selectedPart);
}
public void updateProduct(int index, Product newProduct) {
allProducts.set(index, newProduct);
}
public boolean deletePart(Part selectedPart) {
if (allParts.contains(selectedPart)) {
allParts.remove(selectedPart.getId());
return true;
} else {
return false;
}
}
public boolean deleteProduct(Product selectedProduct) {
if (allProducts.contains(selectedProduct)) {
allProducts.remove(selectedProduct.getID());
return true;
} else {
return false;
}
}
public ObservableList getAllParts() {
return allParts;
}
public ObservableList getAllProducts() {
return allProducts;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
83550Solution/InventorySystems/src/inventorysystems/Outsourced.java
83550Solution/InventorySystems/src/inventorysystems/Outsourced.java
/*
* 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 inventorysystems;
/**
*
* @author Acer
*/
public class Outsourced extends Part {
private String companyName;
public Outsourced(int id, String name, double price, int stock, int min, int max, String companyName) {
super(id, name, price, stock, min, max);
this.companyName = companyName;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
}
83550Solution/InventorySystems/src/inventorysystems/Part.java
83550Solution/InventorySystems/src/inventorysystems/Part.java
/*
* 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 inventorysystems;
/**
*
* @author Acer
*/
public abstract class Part {
private int id;
private String name;
private double price;
private int stock;
private int min;
private int max;
public Part(int id, String name, double price, int stock, int min, int max) {
this.id = id;
this.name = name;
this.price = price;
this.stock = stock;
this.min = min;
this.max = max;
}
/**
* @return the id
*/
public int getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(int id) {
this.id = id;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the price
*/
public double getPrice() {
return price;
}
/**
* @param price the price to set
*/
public void setPrice(double price) {
this.price = price;
}
/**
* @return the stock
*/
public int getStock() {
return stock;
}
/**
* @param stock the stock to set
*/
public void setStock(int stock) {
this.stock = stock;
}
/**
* @return the min
*/
public int getMin() {
return min;
}
/**
* @param min the min to set
*/
public void setMin(int min) {
this.min = min;
}
/**
* @return the max
*/
public int getMax() {
return max;
}
/**
* @param max the max to set
*/
public void setMax(int max) {
this.max = max;
}
}
83550Solution/InventorySystems/src/inventorysystems/Product.java
83550Solution/InventorySystems/src/inventorysystems/Product.java
/*
* 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 inventorysystems;
import javafx.collections.ObservableList;
/**
*
* @author Acer
*/
public class Product {
private ObservableList associateParts;
private int id;
private String name;
private int stock;
private double price;
private int min;
private int max;
public Product(int id, String name, int stock, double price, int max, int min,ObservableList associateParts) {
this.id = id;
this.name = name;
this.stock = stock;
this.price = price;
this.max = max;
this.min = min;
this.associateParts = associateParts;
}
public int getMax() {
return max;
}
public void settMax(int max) {
this.max = max;
}
public int getMin() {
return min;
}
public void setMin(int min) {
this.min = min;
}
public int getID() {
return id;
}
public void setID(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getStock() {
return stock;
}
public void setStock(int stock) {
this.stock = stock;
}
public double getPrice() {
return price;
}
public void setpPrice(double price) {
this.price = price;
}
public void associatedPart(Part part) {
associateParts.add(part);
}
public boolean deleteAssociatedPart(Part selectedPart) {
associateParts.remove(selectedPart);
return true;
}
public ObservableList getAllAssociatedParts() {
return associateParts;
}
}
83550Solution/jfoenix-9.0.8.jar
META-INF/MANIFEST.MF
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Created-By: 9 (Oracle Corporation 9+181)
Tool: Bnd-3.4.0.201707252008
Bnd-LastModified: 1543574153145
Export-Package: com.jfoenix.adapters;version="9.0.8",com.jfoenix.anima
tion;version="9.0.8";uses:="javafx.animation,javafx.scene",com.jfoeni
x.animation.alert;version="9.0.8";uses:="com.jfoenix.transitions,java
fx.animation,javafx.scene",com.jfoenix.assets;version="9.0.8",com.jfo
enix.cache;version="9.0.8";uses:="javafx.scene,javafx.scene.layout",c
om.jfoenix.controls;version="9.0.8";uses:="com.jfoenix.animation.aler
t,com.jfoenix.cache,com.jfoenix.controls.base,com.jfoenix.controls.da
tamodels.treetable,com.jfoenix.controls.events,com.jfoenix.converters
.base,com.jfoenix.transitions,com.jfoenix.validation.base,javafx.anim
ation,javafx.beans,javafx.beans.binding,javafx.beans.property,javafx.
beans.value,javafx.collections,javafx.css,javafx.event,javafx.geometr
y,javafx.scene,javafx.scene.control,javafx.scene.layout,javafx.scene.
paint,javafx.scene.shape,javafx.scene.text,javafx.stage,javafx.util",
com.jfoenix.controls.base;version="9.0.8";uses:="com.jfoenix.validati
on.base,javafx.beans.property,javafx.collections,javafx.css,javafx.sc
ene.paint",com.jfoenix.controls.behavior;version="9.0.8";uses:="com.s
un.javafx.scene.control.behavior,javafx.scene.control",com.jfoenix.co
ntrols.cells.editors;version="9.0.8";uses:="com.jfoenix.controls,com.
jfoenix.controls.cells.editors.base,com.jfoenix.validation.base,javaf
x.beans.value,javafx.event,javafx.scene.input,javafx.scene.layout",co
m.jfoenix.controls.cells.editors.base;version="9.0.8";uses:="javafx.b
eans.property,javafx.beans.value,javafx.event,javafx.scene,javafx.sce
ne.control,javafx.scene.input,javafx.scene.layout",com.jfoenix.contro
ls.datamodels.treetable;version="9.0.8";uses:="javafx.beans.property,
javafx.collections,javafx.scene.control",com.jfoenix.controls.events;
version="9.0.8";uses:="javafx.event",com.jfoenix.converters;version="
9.0.8";uses:="com.jfoenix.controls,javafx.css,javafx.scene.text",com.
jfoenix.converters.base;version="9.0.8";uses:="javafx.scene",com.jfoe
nix.effects;version="9.0.8";uses:="javafx.scene,javafx.scene.effect",
com.jfoenix.responsive;version="9.0.8";uses:="javafx.css,javafx.stage
",com.jfoenix.skins;version="9.0.8";uses:="com.jfoenix.controls,com.j
foenix.controls.base,com.jfoenix.controls.behavior,javafx.animation,j
avafx.beans.binding,javafx.beans.property,javafx.beans.value,javafx.c
ss,javafx.event,javafx.scene,javafx.scene.control,javafx.scene.contro
l.skin,javafx.scene.layout,javafx.scene.paint,javafx.scene.shape,java
fx.scene.text,javafx.scene.transform,javafx.stage,javafx.util",com.jf
oenix.svg;version="9.0.8";uses:="javafx.beans,javafx.beans.property,j
avafx.css,javafx.scene.layout,javafx.scene.paint",com.jfoenix.transit
ions;version="9.0.8";uses:="javafx.animation,javafx.beans.property,ja
vafx.beans.value,javafx.scene,javafx.scene.layout,javafx.scene.paint,
javafx.util",com.jfoenix.transitions.hamburger;version="9.0.8";uses:=
"com.jfoenix.controls,com.jfoenix.transitions,javafx.animation",com.j
foenix.transitions.template;version="9.0.8";uses:="com.jfoenix.transi
tions,javafx.animation,javafx.beans.value,javafx.event,javafx.scene,j
avafx.util",com.jfoenix.utils;version="9.0.8";uses:="javafx.beans,jav
afx.beans.property,javafx.beans.value,javafx.event,javafx.scene,javaf
x.scene.input,javafx.scene.layout,javafx.scene.paint,javafx.util",com
.jfoenix.validation;version="9.0.8";uses:="com.jfoenix.validation.bas
e,javafx.beans,javafx.beans.property,javafx.collections,javafx.scene.
control,javafx.scene.layout,javafx.util.converter",com.jfoenix.valida
tion.base;version="9.0.8";uses:="javafx.beans.property,javafx.css,jav
afx.scene"
Import-Package: com.jfoenix.adapters;version="[9.0,10)",com.jfoenix.an
imation.alert;version="[9.0,10)",com.jfoenix.assets;version="[9.0,10)
",com.jfoenix.cache;version="[9.0,10)",com.jfoenix.controls;version="
[9.0,10)",com.jfoenix.controls.base;version="[9.0,10)",com.jfoenix.co
ntrols.behavior;version="[9.0,10)",com.jfoenix.controls.cells.editors
;version="[9.0,10)",com.jfoenix.controls.cells.editors.base;version="
[9.0,10)",com.jfoenix.controls.datamodels.treetable;version="[9.0,10)
",com.jfoenix.controls.events;version="[9.0,10)",com.jfoenix.converte
rs;version="[9.0,10)",com.jfoenix.converters.base;version="[9.0,10)",
com.jfoenix.effects;version="[9.0,10)",com.jfoenix.skins;version="[9.
0,10)",com.jfoenix.svg;version="[9.0,10)",com.jfoenix.transitions;ver
sion="[9.0,10)",com.jfoenix.transitions.hamburger;version="[9.0,10)",
com.jfoenix.utils;version="[9.0,10)",com.jfoenix.validation;version="
[9.0,10)",com.jfoenix.validation.base;version="[9.0,10)",com.sun.java
fx.binding,com.sun.javafx.event,com.sun.javafx.geom,com.sun.javafx.sc
ene,com.sun.javafx.scene.control,com.sun.javafx.scene.control.behavio
r,com.sun.javafx.scene.control.inputmap,com.sun.javafx.scene.text,com
.sun.javafx.scene.traversal,com.sun.javafx.stage,com.sun.javafx.util,
javafx.animation,javafx.application,javafx.beans,javafx.beans.binding
,javafx.beans.property,javafx.beans.value,javafx.collections,javafx.c
ollections.transformation,javafx.css,javafx.css.converter,javafx.even
t,javafx.geometry,javafx.scene,javafx.scene.control,javafx.scene.cont
rol.skin,javafx.scene.effect,javafx.scene.image,javafx.scene.input,ja
vafx.scene.layout,javafx.scene.paint,javafx.scene.shape,javafx.scene.
text,javafx.scene.transform,javafx.stage,javafx.util,javafx.util.conv
erter,javax.xml.parsers,org.w3c.dom,org.xml.sax,sun.misc
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=9.0))"
Implementation-Title: jfoenix
Bundle-RequiredExecutionEnvironment: JavaSE-1.9
Build-Revision: 87ea257a202aff86fbc8609b3be171484f04d7c7
Bundle-Description: JavaFX Material Design Library
Specification-Title: jfoenix
Specification-Version: 9.0.8
Bundle-Name: JFoenix
Bundle-Version: 9.0.8
Implementation-Version: 9.0.8
Build-Date: 2018-11-30
Built-By: sshahine
Build-Time: 12:35:50.398+0200
Automatic-Module-Name: com.jfoenix
Bundle-SymbolicName: com.jfoenix
com/jfoenix/adapters/ReflectionHelper.class
package com.jfoenix.adapters;
public synchronized class ReflectionHelper {
private static sun.misc.Unsafe unsafe;
private static long objectFieldOffset;
public void ReflectionHelper();
private static void setAccessible(reflect.AccessibleObject);
public static Object invoke(Class, Object, String);
public static Object invoke(Object, String);
public static reflect.Method getMethod(Class, String);
public static reflect.Field getField(Class, String);
public static Object getFieldContent(Object, String);
public static Object getFieldContent(Class, Object, String);
public static void setFieldContent(Class, Object, String, Object);
static void ();
}
com/jfoenix/animation/alert/CenterTransition.class
package com.jfoenix.animation.alert;
public synchronized class CenterTransition extends com.jfoenix.transitions.CachedTransition {
public void CenterTransition(javafx.scene.Node, javafx.scene.Node);
}
com/jfoenix/animation/alert/HorizontalTransition.class
package com.jfoenix.animation.alert;
synchronized class HorizontalTransition extends com.jfoenix.transitions.CachedTransition {
public void HorizontalTransition(boolean, javafx.scene.Node, javafx.scene.Node);
}
com/jfoenix/animation/alert/JFXAlertAnimation$1.class
package com.jfoenix.animation.alert;
synchronized class JFXAlertAnimation$1 implements JFXAlertAnimation {
void JFXAlertAnimation$1();
public void initAnimation(javafx.scene.Node, javafx.scene.Node);
public javafx.animation.Animation createShowingAnimation(javafx.scene.Node, javafx.scene.Node);
public javafx.animation.Animation createHidingAnimation(javafx.scene.Node, javafx.scene.Node);
}
com/jfoenix/animation/alert/JFXAlertAnimation$2.class
package com.jfoenix.animation.alert;
synchronized class JFXAlertAnimation$2 implements JFXAlertAnimation {
void JFXAlertAnimation$2();
public void initAnimation(javafx.scene.Node, javafx.scene.Node);
public javafx.animation.Animation createShowingAnimation(javafx.scene.Node, javafx.scene.Node);
public javafx.animation.Animation createHidingAnimation(javafx.scene.Node, javafx.scene.Node);
}
com/jfoenix/animation/alert/JFXAlertAnimation$3.class
package com.jfoenix.animation.alert;
synchronized class JFXAlertAnimation$3 implements JFXAlertAnimation {
void JFXAlertAnimation$3();
public void initAnimation(javafx.scene.Node, javafx.scene.Node);
public javafx.animation.Animation createShowingAnimation(javafx.scene.Node, javafx.scene.Node);
public javafx.animation.Animation createHidingAnimation(javafx.scene.Node, javafx.scene.Node);
}
com/jfoenix/animation/alert/JFXAlertAnimation$4.class
package com.jfoenix.animation.alert;
synchronized class JFXAlertAnimation$4 implements JFXAlertAnimation {
void JFXAlertAnimation$4();
public void initAnimation(javafx.scene.Node, javafx.scene.Node);
public javafx.animation.Animation createShowingAnimation(javafx.scene.Node, javafx.scene.Node);
public javafx.animation.Animation createHidingAnimation(javafx.scene.Node, javafx.scene.Node);
}
com/jfoenix/animation/alert/JFXAlertAnimation$5.class
package com.jfoenix.animation.alert;
synchronized class JFXAlertAnimation$5 implements JFXAlertAnimation {
void JFXAlertAnimation$5();
public void initAnimation(javafx.scene.Node, javafx.scene.Node);
public javafx.animation.Animation createShowingAnimation(javafx.scene.Node, javafx.scene.Node);
public javafx.animation.Animation createHidingAnimation(javafx.scene.Node, javafx.scene.Node);
}
com/jfoenix/animation/alert/JFXAlertAnimation$6.class
package com.jfoenix.animation.alert;
synchronized class JFXAlertAnimation$6 implements JFXAlertAnimation {
void JFXAlertAnimation$6();
public void initAnimation(javafx.scene.Node, javafx.scene.Node);
public javafx.animation.Animation createShowingAnimation(javafx.scene.Node, javafx.scene.Node);
public javafx.animation.Animation createHidingAnimation(javafx.scene.Node, javafx.scene.Node);
}
com/jfoenix/animation/alert/JFXAlertAnimation.class
package com.jfoenix.animation.alert;
public abstract interface JFXAlertAnimation {
public static final java.util.function.Function inverseAnimation;
public static final JFXAlertAnimation LEFT_ANIMATION;
public static final JFXAlertAnimation RIGHT_ANIMATION;
public static final JFXAlertAnimation TOP_ANIMATION;
public static final JFXAlertAnimation BOTTOM_ANIMATION;
public static final JFXAlertAnimation CENTER_ANIMATION;
public static final JFXAlertAnimation NO_ANIMATION;
public abstract void initAnimation(javafx.scene.Node, javafx.scene.Node);
public abstract javafx.animation.Animation createShowingAnimation(javafx.scene.Node, javafx.scene.Node);
public abstract javafx.animation.Animation createHidingAnimation(javafx.scene.Node, javafx.scene.Node);
static void ();
}
com/jfoenix/animation/alert/VerticalTransition.class
package com.jfoenix.animation.alert;
public synchronized class VerticalTransition extends com.jfoenix.transitions.CachedTransition {
public void VerticalTransition(boolean, javafx.scene.Node, javafx.scene.Node);
}
com/jfoenix/animation/JFXNodesAnimation.class
package com.jfoenix.animation;
public abstract synchronized class JFXNodesAnimation {
protected javafx.scene.Node fromNode;
protected javafx.scene.Node toNode;
public void JFXNodesAnimation(javafx.scene.Node, javafx.scene.Node);
public void animate();
public abstract javafx.animation.Animation animateExit();
public abstract javafx.animation.Animation animateSharedNodes();
public abstract javafx.animation.Animation animateEntrance();
public abstract void init();
public abstract void end();
}
com/jfoenix/assets/JFoenixResources.class
package com.jfoenix.assets;
public final synchronized class JFoenixResources {
public static java.net.URL load(String);
private void JFoenixResources();
}
com/jfoenix/cache/CachePolicy$1.class
package com.jfoenix.cache;
synchronized class CachePolicy$1 implements CachePolicy {
private java.util.WeakHashMap cache;
void CachePolicy$1();
public void cache(javafx.scene.Node);
public void restore(javafx.scene.Node);
}
com/jfoenix/cache/CachePolicy$2.class
package com.jfoenix.cache;
synchronized class CachePolicy$2 implements CachePolicy {
void CachePolicy$2();
public void cache(javafx.scene.Node);
public void restore(javafx.scene.Node);
}
com/jfoenix/cache/CachePolicy$3.class
package com.jfoenix.cache;
synchronized class CachePolicy$3 implements CachePolicy {
private java.util.WeakHashMap cache;
void CachePolicy$3();
public void cache(javafx.scene.layout.Pane);
public void restore(javafx.scene.layout.Pane);
}
com/jfoenix/cache/CachePolicy.class
package com.jfoenix.cache;
public abstract interface CachePolicy {
public static final CachePolicy CACHE;
public static final CachePolicy NONE;
public static final CachePolicy IMAGE;
public abstract void cache(javafx.scene.Node);
public abstract void restore(javafx.scene.Node);
static void ();
}
com/jfoenix/controls/base/IFXLabelFloatControl.class
package com.jfoenix.controls.base;
public abstract interface IFXLabelFloatControl extends IFXValidatableControl, IFXStaticControl {
public abstract javafx.css.StyleableBooleanProperty labelFloatProperty();
public abstract boolean isLabelFloat();
public abstract void setLabelFloat(boolean);
public abstract javafx.scene.paint.Paint getUnFocusColor();
public abstract javafx.css.StyleableObjectProperty unFocusColorProperty();
public abstract void setUnFocusColor(javafx.scene.paint.Paint);
public abstract javafx.scene.paint.Paint getFocusColor();
public abstract javafx.css.StyleableObjectProperty focusColorProperty();
public abstract void setFocusColor(javafx.scene.paint.Paint);
}
com/jfoenix/controls/base/IFXStaticControl.class
package com.jfoenix.controls.base;
public abstract interface IFXStaticControl {
public abstract javafx.css.StyleableBooleanProperty disableAnimationProperty();
public abstract Boolean isDisableAnimation();
public abstract void setDisableAnimation(Boolean);
}
com/jfoenix/controls/base/IFXValidatableControl.class
package com.jfoenix.controls.base;
public abstract interface IFXValidatableControl {
public abstract com.jfoenix.validation.base.ValidatorBase getActiveValidator();
public abstract javafx.beans.property.ReadOnlyObjectProperty activeValidatorProperty();
public abstract javafx.collections.ObservableList getValidators();
public abstract transient void setValidators(com.jfoenix.validation.base.ValidatorBase[]);
public abstract boolean validate();
public abstract void resetValidation();
}
com/jfoenix/controls/behavior/JFXGenericPickerBehavior.class
package com.jfoenix.controls.behavior;
public synchronized class JFXGenericPickerBehavior extends com.sun.javafx.scene.control.behavior.ComboBoxBaseBehavior {
public void JFXGenericPickerBehavior(javafx.scene.control.ComboBoxBase);
public void onAutoHide(javafx.scene.control.PopupControl);
}
com/jfoenix/controls/cells/editors/base/EditorNodeBuilder.class
package com.jfoenix.controls.cells.editors.base;
public abstract interface EditorNodeBuilder {
public abstract void startEdit();
public abstract void cancelEdit();
public abstract void updateItem(Object, boolean);
public abstract javafx.scene.layout.Region createNode(Object, javafx.event.EventHandler, javafx.beans.value.ChangeListener);
public abstract void setValue(Object);
public abstract Object getValue();
public abstract void validateValue() throws Exception;
}
com/jfoenix/controls/cells/editors/base/GenericEditableTreeTableCell.class
package com.jfoenix.controls.cells.editors.base;
public synchronized class GenericEditableTreeTableCell extends JFXTreeTableCell {
protected EditorNodeBuilder builder;
protected javafx.scene.layout.Region editorNode;
private java.util.function.BiFunction stepFunction;
public void GenericEditableTreeTableCell(EditorNodeBuilder);
public void GenericEditableTreeTableCell();
protected void commitHelper(boolean);
protected Object getValue();
public void startEdit();
public void cancelEdit();
private boolean checkGroupedColumn();
public void updateItem(Object, boolean);
private void createEditorNode();
public java.util.function.BiFunction getStepFunction();
public void setStepFunction(java.util.function.BiFunction);
private void editNext(boolean);
private java.util.List getLeaves(javafx.scene.control.TreeTableColumn);
}
com/jfoenix/controls/cells/editors/base/JFXTreeTableCell.class
package com.jfoenix.controls.cells.editors.base;
public synchronized class JFXTreeTableCell extends javafx.scene.control.TreeTableCell {
private javafx.beans.property.ObjectProperty disclosureNode;
public void JFXTreeTableCell();
public final void setDisclosureNode(javafx.scene.Node);
public final javafx.scene.Node getDisclosureNode();
public final javafx.beans.property.ObjectProperty disclosureNodeProperty();
protected javafx.scene.control.Skin createDefaultSkin();
}
com/jfoenix/controls/cells/editors/DoubleTextFieldEditorBuilder.class
package com.jfoenix.controls.cells.editors;
public synchronized class DoubleTextFieldEditorBuilder extends TextFieldEditorBase {
public transient void DoubleTextFieldEditorBuilder(com.jfoenix.validation.base.ValidatorBase[]);
public Double getValue();
}
com/jfoenix/controls/cells/editors/IntegerTextFieldEditorBuilder.class
package com.jfoenix.controls.cells.editors;
public synchronized class IntegerTextFieldEditorBuilder extends TextFieldEditorBase {
public transient void IntegerTextFieldEditorBuilder(com.jfoenix.validation.base.ValidatorBase[]);
public Integer getValue();
}
com/jfoenix/controls/cells/editors/TextFieldEditorBase.class
package com.jfoenix.controls.cells.editors;
public abstract synchronized class TextFieldEditorBase implements base.EditorNodeBuilder {
protected com.jfoenix.controls.JFXTextField textField;
protected final com.jfoenix.validation.base.ValidatorBase[] validators;
public transient void TextFieldEditorBase(com.jfoenix.validation.base.ValidatorBase[]);
public void startEdit();
public void cancelEdit();
public void updateItem(Object, boolean);
public javafx.scene.layout.Region createNode(Object, javafx.event.EventHandler, javafx.beans.value.ChangeListener);
public void setValue(Object);
public void validateValue() throws Exception;
}
com/jfoenix/controls/cells/editors/TextFieldEditorBuilder.class
package com.jfoenix.controls.cells.editors;
public synchronized class TextFieldEditorBuilder extends TextFieldEditorBase {
public void TextFieldEditorBuilder();
public String getValue();
}
com/jfoenix/controls/datamodels/treetable/RecursiveTreeObject.class
package com.jfoenix.controls.datamodels.treetable;
public synchronized class RecursiveTreeObject {
javafx.collections.ObservableList children;
javafx.beans.property.ObjectProperty groupedColumn;
javafx.beans.property.ObjectProperty groupedValue;
public void RecursiveTreeObject();
public javafx.collections.ObservableList getChildren();
public void setChildren(javafx.collections.ObservableList);
public final javafx.beans.property.ObjectProperty groupedColumnProperty();
public final javafx.scene.control.TreeTableColumn getGroupedColumn();
public final void setGroupedColumn(javafx.scene.control.TreeTableColumn);
public final javafx.beans.property.ObjectProperty groupedValueProperty();
public final Object getGroupedValue();
public final void setGroupedValue(Object);
}
com/jfoenix/controls/events/JFXAutoCompleteEvent.class
package com.jfoenix.controls.events;
public synchronized class JFXAutoCompleteEvent extends javafx.event.Event {
private Object object;
public static final javafx.event.EventType SELECTION;
public void JFXAutoCompleteEvent(javafx.event.EventType, Object);
public Object getObject();
static void ();
}
com/jfoenix/controls/events/JFXDialogEvent.class
package com.jfoenix.controls.events;
public synchronized class JFXDialogEvent extends javafx.event.Event {
private static final long serialVersionUID = 1;
public static final javafx.event.EventType CLOSED;
public static final javafx.event.EventType OPENED;
public void JFXDialogEvent(javafx.event.EventType);
static void ();
}
com/jfoenix/controls/events/JFXDrawerEvent.class
package com.jfoenix.controls.events;
public synchronized class JFXDrawerEvent extends javafx.event.Event {
private static final long serialVersionUID = 1;
public static final javafx.event.EventType CLOSED;
public static final javafx.event.EventType OPENED;
public static final javafx.event.EventType OPENING;
public static final javafx.event.EventType CLOSING;
public void JFXDrawerEvent(javafx.event.EventType);
static void ();
}
com/jfoenix/controls/FakeFocusJFXTextField$1.class
package com.jfoenix.controls;
synchronized class FakeFocusJFXTextField$1 {
static void ();
}
com/jfoenix/controls/FakeFocusJFXTextField.class
package com.jfoenix.controls;
final synchronized class FakeFocusJFXTextField extends JFXTextField {
void FakeFocusJFXTextField();
public void requestFocus();
public void setFakeFocus(boolean);
public transient Object queryAccessibleAttribute(javafx.scene.AccessibleAttribute, Object[]);
public javafx.beans.property.ReadOnlyObjectWrapper activeValidatorWritableProperty();
}
com/jfoenix/controls/JFXAlert$1.class
package com.jfoenix.controls;
synchronized class JFXAlert$1 extends javafx.scene.control.DialogPane {
private boolean performingLayout;
void JFXAlert$1(JFXAlert);
protected double computePrefHeight(double);
protected double computePrefWidth(double);
public void requestLayout();
protected void layoutChildren();
public String getUserAgentStylesheet();
protected javafx.scene.Node createButtonBar();
}
com/jfoenix/controls/JFXAlert.class
package com.jfoenix.controls;
public synchronized class JFXAlert extends javafx.scene.control.Dialog {
private final javafx.scene.layout.StackPane contentContainer;
private javafx.beans.InvalidationListener widthListener;
private javafx.beans.InvalidationListener heightListener;
private javafx.beans.InvalidationListener xListener;
private javafx.beans.InvalidationListener yListener;
private boolean animateClosing;
private javafx.animation.Animation transition;
private final com.sun.javafx.event.EventHandlerManager eventHandlerManager;
private javafx.beans.property.BooleanProperty overlayClose;
private javafx.beans.property.ObjectProperty animation;
private javafx.beans.property.BooleanProperty hideOnEscape;
public void JFXAlert();
public void JFXAlert(javafx.stage.Stage);
private com.jfoenix.animation.alert.JFXAlertAnimation getCurrentAnimation();
private void removeLayoutListeners();
private void addLayoutListeners();
private void updateLayout();
private void updateHeight();
private void updateWidth();
private void updateY();
private void updateX();
public void hideWithAnimation();
public javafx.event.EventDispatchChain buildEventDispatchChain(javafx.event.EventDispatchChain);
public transient void setContent(javafx.scene.Node[]);
public boolean isOverlayClose();
public javafx.beans.property.BooleanProperty overlayCloseProperty();
public void setOverlayClose(boolean);
public com.jfoenix.animation.alert.JFXAlertAnimation getAnimation();
public javafx.beans.property.ObjectProperty animationProperty();
public void setAnimation(com.jfoenix.animation.alert.JFXAlertAnimation);
public void setSize(double, double);
public final void setHideOnEscape(boolean);
public final boolean isHideOnEscape();
public final javafx.beans.property.BooleanProperty hideOnEscapeProperty();
}
com/jfoenix/controls/JFXAutoCompletePopup$CSSBridge.class
package com.jfoenix.controls;
final synchronized class JFXAutoCompletePopup$CSSBridge extends javafx.scene.control.PopupControl$CSSBridge {
private JFXAutoCompletePopup popup;
void JFXAutoCompletePopup$CSSBridge(JFXAutoCompletePopup);
}
com/jfoenix/controls/JFXAutoCompletePopup$StyleableProperties$1.class
package com.jfoenix.controls;
synchronized class JFXAutoCompletePopup$StyleableProperties$1 extends javafx.css.CssMetaData {
void JFXAutoCompletePopup$StyleableProperties$1(String, javafx.css.StyleConverter, Number);
public Double getInitialValue(JFXAutoCompletePopup$CSSBridge);
public boolean isSettable(JFXAutoCompletePopup$CSSBridge);
public javafx.css.StyleableProperty getStyleableProperty(JFXAutoCompletePopup$CSSBridge);
}
com/jfoenix/controls/JFXAutoCompletePopup$StyleableProperties$2.class
package com.jfoenix.controls;
synchronized class JFXAutoCompletePopup$StyleableProperties$2 extends javafx.css.CssMetaData {
void JFXAutoCompletePopup$StyleableProperties$2(String, javafx.css.StyleConverter, Number);
public Number getInitialValue(JFXAutoCompletePopup$CSSBridge);
public boolean isSettable(JFXAutoCompletePopup$CSSBridge);
public javafx.css.StyleableProperty getStyleableProperty(JFXAutoCompletePopup$CSSBridge);
}
com/jfoenix/controls/JFXAutoCompletePopup$StyleableProperties.class
package com.jfoenix.controls;
synchronized class JFXAutoCompletePopup$StyleableProperties {
private static final javafx.css.CssMetaData FIXED_CELL_SIZE;
private static final javafx.css.CssMetaData CELL_LIMIT;
private static final java.util.List STYLEABLES;
private void JFXAutoCompletePopup$StyleableProperties();
static void ();
}
com/jfoenix/controls/JFXAutoCompletePopup.class
package com.jfoenix.controls;
public synchronized class JFXAutoCompletePopup extends javafx.scene.control.PopupControl {
private final javafx.collections.ObservableList suggestions;
private final javafx.beans.property.ObjectProperty selectionHandler;
private final javafx.collections.transformation.FilteredList filteredData;
private final javafx.beans.property.ObjectProperty suggestionsCellFactory;
private static final String DEFAULT_STYLE_CLASS = jfx-autocomplete-popup;
private javafx.beans.property.IntegerProperty cellLimit;
private javafx.beans.property.DoubleProperty fixedCellSize;
public void JFXAutoCompletePopup();
protected javafx.scene.control.Skin createDefaultSkin();
public void show(javafx.scene.Node);
public javafx.collections.ObservableList getSuggestions();
public void filter(java.util.function.Predicate);
public javafx.collections.ObservableList getFilteredSuggestions();
public javafx.event.EventHandler getSelectionHandler();
public void setSelectionHandler(javafx.event.EventHandler);
public final javafx.beans.property.ObjectProperty suggestionsCellFactoryProperty();
public final javafx.util.Callback getSuggestionsCellFactory();
public final void setSuggestionsCellFactory(javafx.util.Callback);
public final void setCellLimit(int);
public final int getCellLimit();
public final javafx.beans.property.IntegerProperty cellLimitProperty();
public final void setFixedCellSize(double);
public final double getFixedCellSize();
public final javafx.beans.property.DoubleProperty fixedCellSizeProperty();
public static java.util.List getClassCssMetaData();
public java.util.List getCssMetaData();
}
com/jfoenix/controls/JFXBadge.class
package com.jfoenix.controls;
public synchronized class JFXBadge extends javafx.scene.layout.StackPane {
private javafx.scene.Group badge;
protected javafx.scene.Node control;
private boolean enabled;
private static final String DEFAULT_STYLE_CLASS = jfx-badge;
protected javafx.beans.property.ObjectProperty position;
private javafx.beans.property.SimpleStringProperty text;
public void JFXBadge();
public void JFXBadge(javafx.scene.Node);
public void JFXBadge(javafx.scene.Node, javafx.geometry.Pos);
public void setControl(javafx.scene.Node);
public javafx.scene.Node getControl();
public void setEnabled(boolean);
public void refreshBadge();
private void initialize();
public javafx.geometry.Pos getPosition();
public javafx.beans.property.ObjectProperty positionProperty();
public void setPosition(javafx.geometry.Pos);
public final String getText();
public final void setText(String);
public final javafx.beans.property.StringProperty textProperty();
}
com/jfoenix/controls/JFXButton$ButtonType.class
package com.jfoenix.controls;
public final synchronized enum JFXButton$ButtonType {
public static final JFXButton$ButtonType FLAT;
public static final JFXButton$ButtonType RAISED;
public static JFXButton$ButtonType[] values();
public static JFXButton$ButtonType valueOf(String);
private void JFXButton$ButtonType(String, int);
static void ();
}
com/jfoenix/controls/JFXButton$StyleableProperties$1.class
package com.jfoenix.controls;
synchronized class JFXButton$StyleableProperties$1 extends javafx.css.CssMetaData {
void JFXButton$StyleableProperties$1(String, javafx.css.StyleConverter, JFXButton$ButtonType);
public boolean isSettable(JFXButton);
public javafx.css.StyleableProperty getStyleableProperty(JFXButton);
}
com/jfoenix/controls/JFXButton$StyleableProperties$2.class
package com.jfoenix.controls;
synchronized class JFXButton$StyleableProperties$2 extends javafx.css.CssMetaData {
void JFXButton$StyleableProperties$2(String, javafx.css.StyleConverter, Boolean);
public boolean isSettable(JFXButton);
public javafx.css.StyleableBooleanProperty getStyleableProperty(JFXButton);
}
com/jfoenix/controls/JFXButton$StyleableProperties.class
package com.jfoenix.controls;
synchronized class JFXButton$StyleableProperties {
private static final javafx.css.CssMetaData BUTTON_TYPE;
private static final javafx.css.CssMetaData DISABLE_VISUAL_FOCUS;
private static final java.util.List CHILD_STYLEABLES;
private void JFXButton$StyleableProperties();
static void ();
}
com/jfoenix/controls/JFXButton.class
package com.jfoenix.controls;
public synchronized class JFXButton extends javafx.scene.control.Button {
private javafx.beans.property.ObjectProperty ripplerFill;
private static final String DEFAULT_STYLE_CLASS = jfx-button;
private static final String USER_AGENT_STYLESHEET;
private javafx.css.StyleableObjectProperty buttonType;
private javafx.css.StyleableBooleanProperty disableVisualFocus;
private java.util.List STYLEABLES;
public void JFXButton();
public void JFXButton(String);
public void JFXButton(String, javafx.scene.Node);
private void initialize();
protected javafx.scene.control.Skin createDefaultSkin();
public String getUserAgentStylesheet();
public final javafx.beans.property.ObjectProperty ripplerFillProperty();
public final javafx.scene.paint.Paint getRipplerFill();
public final void setRipplerFill(javafx.scene.paint.Paint);
public JFXButton$ButtonType getButtonType();
public javafx.css.StyleableObjectProperty buttonTypeProperty();
public void setButtonType(JFXButton$ButtonType);
public final javafx.css.StyleableBooleanProperty disableVisualFocusProperty();
public final Boolean isDisableVisualFocus();
public final void setDisableVisualFocus(Boolean);
public java.util.List getControlCssMetaData();
public static java.util.List getClassCssMetaData();
static void ();
}
com/jfoenix/controls/JFXCheckBox$StyleableProperties$1.class
package com.jfoenix.controls;
synchronized class JFXCheckBox$StyleableProperties$1 extends javafx.css.CssMetaData {
void JFXCheckBox$StyleableProperties$1(String, javafx.css.StyleConverter, javafx.scene.paint.Paint);
public boolean isSettable(JFXCheckBox);
public javafx.css.StyleableProperty getStyleableProperty(JFXCheckBox);
}
com/jfoenix/controls/JFXCheckBox$StyleableProperties$2.class
package com.jfoenix.controls;
synchronized class JFXCheckBox$StyleableProperties$2 extends javafx.css.CssMetaData {
void JFXCheckBox$StyleableProperties$2(String, javafx.css.StyleConverter, javafx.scene.paint.Paint);
public boolean isSettable(JFXCheckBox);
public javafx.css.StyleableProperty getStyleableProperty(JFXCheckBox);
}
com/jfoenix/controls/JFXCheckBox$StyleableProperties$3.class
package com.jfoenix.controls;
synchronized class JFXCheckBox$StyleableProperties$3 extends javafx.css.CssMetaData {
void JFXCheckBox$StyleableProperties$3(String, javafx.css.StyleConverter, Boolean);
public boolean isSettable(JFXCheckBox);
public javafx.css.StyleableBooleanProperty getStyleableProperty(JFXCheckBox);
}
com/jfoenix/controls/JFXCheckBox$StyleableProperties.class
package com.jfoenix.controls;
synchronized class JFXCheckBox$StyleableProperties {
private static final javafx.css.CssMetaData CHECKED_COLOR;
private static final javafx.css.CssMetaData UNCHECKED_COLOR;
private static final javafx.css.CssMetaData DISABLE_VISUAL_FOCUS;
private static final java.util.List CHILD_STYLEABLES;
private void JFXCheckBox$StyleableProperties();
static void ();
}
com/jfoenix/controls/JFXCheckBox.class
package com.jfoenix.controls;
public synchronized class JFXCheckBox extends javafx.scene.control.CheckBox {
private static final String DEFAULT_STYLE_CLASS = jfx-check-box;
private static final String USER_AGENT_STYLESHEET;
private javafx.css.StyleableObjectProperty checkedColor;
private javafx.css.StyleableObjectProperty unCheckedColor;
private javafx.css.StyleableBooleanProperty disableVisualFocus;
public void JFXCheckBox(String);
public void JFXCheckBox();
private void initialize();
protected javafx.scene.control.Skin createDefaultSkin();
public String getUserAgentStylesheet();
public javafx.scene.paint.Paint getCheckedColor();
public javafx.css.StyleableObjectProperty checkedColorProperty();
public void setCheckedColor(javafx.scene.paint.Paint);
public javafx.scene.paint.Paint getUnCheckedColor();
public javafx.css.StyleableObjectProperty unCheckedColorProperty();
public void setUnCheckedColor(javafx.scene.paint.Paint);
public final javafx.css.StyleableBooleanProperty disableVisualFocusProperty();
public final Boolean isDisableVisualFocus();
public final void setDisableVisualFocus(Boolean);
public java.util.List getControlCssMetaData();
public static java.util.List getClassCssMetaData();
static void ();
}
com/jfoenix/controls/JFXChip.class
package com.jfoenix.controls;
public synchronized class JFXChip extends javafx.scene.layout.Region {
protected final JFXChipView view;
private javafx.beans.property.ObjectProperty item;
public void JFXChip(JFXChipView, Object);
public final javafx.beans.property.ObjectProperty itemProperty();
public final void setItem(Object);
public final Object getItem();
public final JFXChipView getChipView();
}
com/jfoenix/controls/JFXChipView$1.class
package com.jfoenix.controls;
synchronized class JFXChipView$1 extends javafx.util.StringConverter {
void JFXChipView$1();
public String toString(Object);
public Object fromString(String);
}
com/jfoenix/controls/JFXChipView.class
package com.jfoenix.controls;
public synchronized class JFXChipView extends javafx.scene.control.Control {
private static final String DEFAULT_STYLE_CLASS = jfx-chip-view;
private javafx.beans.property.ObjectProperty chipFactory;
private javafx.beans.property.ObjectProperty selectionHandler;
private JFXAutoCompletePopup autoCompletePopup;
private javafx.beans.property.ObjectProperty predicate;
private javafx.collections.ObservableList chips;
private javafx.beans.property.ObjectProperty converter;
private static javafx.util.StringConverter defaultStringConverter();
public void JFXChipView();
public String getUserAgentStylesheet();
protected javafx.scene.control.Skin createDefaultSkin();
public java.util.function.BiFunction getChipFactory();
public javafx.beans.property.ObjectProperty chipFactoryProperty();
public void setChipFactory(java.util.function.BiFunction);
public java.util.function.Function getSelectionHandler();
public javafx.beans.property.ObjectProperty selectionHandlerProperty();
public void setSelectionHandler(java.util.function.Function);
public JFXAutoCompletePopup getAutoCompletePopup();
public javafx.collections.ObservableList getSuggestions();
public void setSuggestionsCellFactory(javafx.util.Callback);
public java.util.function.BiPredicate getPredicate();
public javafx.beans.property.ObjectProperty predicateProperty();
public void setPredicate(java.util.function.BiPredicate);
public javafx.collections.ObservableList getChips();
public javafx.beans.property.ObjectProperty converterProperty();
public final void setConverter(javafx.util.StringConverter);
public final javafx.util.StringConverter getConverter();
}
com/jfoenix/controls/JFXClippedPane.class
package com.jfoenix.controls;
public synchronized class JFXClippedPane extends javafx.scene.layout.StackPane {
private javafx.scene.layout.Region clip;
public void JFXClippedPane();
public transient void JFXClippedPane(javafx.scene.Node[]);
private void init();
protected void layoutChildren();
}
com/jfoenix/controls/JFXColorPicker.class
package com.jfoenix.controls;
public synchronized class JFXColorPicker extends javafx.scene.control.ColorPicker {
private static final String DEFAULT_STYLE_CLASS = jfx-color-picker;
public void JFXColorPicker();
public void JFXColorPicker(javafx.scene.paint.Color);
protected javafx.scene.control.Skin createDefaultSkin();
public String getUserAgentStylesheet();
private void initialize();
}
com/jfoenix/controls/JFXComboBox$1.class
package com.jfoenix.controls;
synchronized class JFXComboBox$1 extends JFXListCell {
void JFXComboBox$1(JFXComboBox);
public void updateItem(Object, boolean);
}
com/jfoenix/controls/JFXComboBox$2.class
package com.jfoenix.controls;
synchronized class JFXComboBox$2 extends javafx.scene.control.ListCell {
void JFXComboBox$2(JFXComboBox);
protected void updateItem(Object, boolean);
}
com/jfoenix/controls/JFXComboBox$3.class
package com.jfoenix.controls;
synchronized class JFXComboBox$3 extends com.jfoenix.converters.base.NodeConverter {
void JFXComboBox$3();
public javafx.scene.Node toNode(Object);
public Object fromNode(javafx.scene.Node);
public String toString(Object);
}
com/jfoenix/controls/JFXComboBox$StyleableProperties$1.class
package com.jfoenix.controls;
synchronized class JFXComboBox$StyleableProperties$1 extends javafx.css.CssMetaData {
void JFXComboBox$StyleableProperties$1(String, javafx.css.StyleConverter, javafx.scene.paint.Paint);
public boolean isSettable(JFXComboBox);
public javafx.css.StyleableProperty getStyleableProperty(JFXComboBox);
}
com/jfoenix/controls/JFXComboBox$StyleableProperties$2.class
package com.jfoenix.controls;
synchronized class JFXComboBox$StyleableProperties$2 extends javafx.css.CssMetaData {
void JFXComboBox$StyleableProperties$2(String, javafx.css.StyleConverter, javafx.scene.paint.Paint);
public boolean isSettable(JFXComboBox);
public javafx.css.StyleableProperty getStyleableProperty(JFXComboBox);
}
com/jfoenix/controls/JFXComboBox$StyleableProperties$3.class
package com.jfoenix.controls;
synchronized class JFXComboBox$StyleableProperties$3 extends javafx.css.CssMetaData {
void JFXComboBox$StyleableProperties$3(String, javafx.css.StyleConverter, Boolean);
public boolean isSettable(JFXComboBox);
public javafx.css.StyleableBooleanProperty getStyleableProperty(JFXComboBox);
}
com/jfoenix/controls/JFXComboBox$StyleableProperties$4.class
package com.jfoenix.controls;
synchronized class JFXComboBox$StyleableProperties$4 extends javafx.css.CssMetaData {
void JFXComboBox$StyleableProperties$4(String, javafx.css.StyleConverter, Boolean);
public boolean isSettable(JFXComboBox);
public javafx.css.StyleableBooleanProperty getStyleableProperty(JFXComboBox);
}
com/jfoenix/controls/JFXComboBox$StyleableProperties.class
package com.jfoenix.controls;
synchronized class JFXComboBox$StyleableProperties {
private static final javafx.css.CssMetaData UNFOCUS_COLOR;
private static final javafx.css.CssMetaData FOCUS_COLOR;
private static final javafx.css.CssMetaData LABEL_FLOAT;
private static final javafx.css.CssMetaData DISABLE_ANIMATION;
private static final java.util.List CHILD_STYLEABLES;
private void JFXComboBox$StyleableProperties();
static void ();
}
com/jfoenix/controls/JFXComboBox.class
package com.jfoenix.controls;
public synchronized class JFXComboBox extends javafx.scene.control.ComboBox implements base.IFXLabelFloatControl {
private static final String DEFAULT_STYLE_CLASS = jfx-combo-box;
private javafx.beans.property.ObjectProperty nodeConverter;
private ValidationControl validationControl;
private javafx.css.StyleableBooleanProperty labelFloat;
private javafx.css.StyleableObjectProperty unFocusColor;
private javafx.css.StyleableObjectProperty focusColor;
private javafx.css.StyleableBooleanProperty disableAnimation;
private java.util.List STYLEABLES;
public void JFXComboBox();
public void JFXComboBox(javafx.collections.ObservableList);
private void initialize();
public String...