Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javafx.application.Application;
- import javafx.application.Platform;
- import javafx.collections.FXCollections;
- import javafx.collections.ObservableList;
- import javafx.geometry.Insets;
- import javafx.scene.Scene;
- import javafx.scene.control.*;
- import javafx.scene.control.cell.PropertyValueFactory;
- import javafx.scene.layout.*;
- import javafx.stage.Stage;
- public class Main extends Application {
- Stage window;
- TableView<Product> table;
- TextField nameInput, priceInput, quantityInput;
- public static void main(String[] args) {
- launch(args);
- }
- @Override
- public void start(Stage primaryStage) {
- window = primaryStage;
- window.setTitle("Austin");
- //Name column
- TableColumn<Product, String> nameColumn = new TableColumn<>("Name");
- nameColumn.setMinWidth(200);
- nameColumn.setCellValueFactory(new PropertyValueFactory<>("name"));
- //Price column
- TableColumn<Product, Double> priceColumn = new TableColumn<>("Price");
- priceColumn.setMinWidth(100);
- priceColumn.setCellValueFactory(new PropertyValueFactory<>("price"));
- //quantity column
- TableColumn<Product, Integer> quantityColumn = new TableColumn<>("Quantity");
- quantityColumn.setMinWidth(100);
- quantityColumn.setCellValueFactory(new PropertyValueFactory<>("quantity"));
- //Name Input
- nameInput = new TextField();
- nameInput.setPromptText("Name");
- //Price Input
- priceInput = new TextField();
- priceInput.setPromptText("Price");
- //Quantity Input
- quantityInput = new TextField();
- quantityInput.setPromptText("Quantity");
- //Button
- Button addButton = new Button("Add");
- Button deleteButton = new Button("Delete Item");
- //Button Events
- addButton.setOnAction(event -> addButtonClicked());
- deleteButton.setOnAction(event -> deleteButtonClicked());
- HBox hBox = new HBox();
- hBox.setPadding(new Insets(10, 10, 10, 10));
- hBox.setSpacing(10);
- hBox.getChildren().addAll(nameInput, priceInput, quantityInput, addButton, deleteButton);
- table = new TableView<>();
- table.setItems(getProduct());
- table.getColumns().addAll(nameColumn, priceColumn, quantityColumn);
- //Layout
- VBox vBox = new VBox();
- vBox.getChildren().addAll(table, hBox);
- Scene scene = new Scene(vBox);
- window.setScene(scene);
- window.show();
- }
- //Add button clicked
- public void addButtonClicked(){
- Product product = new Product();
- product.setName(nameInput.getText());
- product.setPrice(Double.parseDouble(priceInput.getText()));
- product.setQuantity(Integer.parseInt(quantityInput.getText()));
- table.getItems().add(product);
- nameInput.clear();
- priceInput.clear();
- quantityInput.clear();
- }
- //Delete button clicked
- public void deleteButtonClicked(){
- ObservableList<Product> productSelected, allProducts;
- allProducts = table.getItems();
- productSelected = table.getSelectionModel().getSelectedItems();
- productSelected.forEach(allProducts::remove);
- }
- //Get all of the products
- public ObservableList<Product> getProduct(){
- ObservableList<Product> products = FXCollections.observableArrayList();
- products.add(new Product("laptop", 859, 20));
- products.add(new Product("fan", 59, 10));
- products.add(new Product("chair", 89, 2));
- products.add(new Product("movies", 19, 12));
- products.add(new Product("Mountain Dew", 8, 100));
- return products;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement