Question
Create a Tip Calculator with two classes: TipCalculator (the JavaFX class) and Order Start with an Order class with two instance variables, item a String
Create a Tip Calculator with two classes: TipCalculator (the JavaFX class) and Order
- Start with an Order class with two instance variables, item a String and price a double; include two constructors, a no-parameter constructor that passes default values empty String and zero (0) to the second constructor which then calls the set methods for item and price; the set method for price validates that price is greater than zero (0); include get methods for both instance variables; there is no need for a toString() method
- Instantiate ten objects from the Order class in the start() method of the JavaFX application from which two ObservableList objects should be instantiated: (a) an ObservableList of Strings populated from the get method for the item field; and (b) an ObservableList of Doubles (use the wrapper class as the sub type to instantiate) populated from the get method for the price field
- The JavaFX form will consist of (a) a ListView of Strings from the ObservableList of items; (b) a Slider that represents tip percentage as an int between 15% and 25% (show the current value of the tip percent slider in a matching Label); (c) a Button that is clicked to calculate the total bill; and (d) a result Label
- Include an event handler method for the Button that calculates the total bill as follows: the price field from the ObservableList that matches the selected item from the ListView (the user may purchase only one item at a time) times sales tax (8.625%) plus the tip which is the matching price from the ObservableList times the percentage from the Slider; display with text labels in the result Label the selected item, its matching price, the sales tax, the amount of the tip and the total bill
so far, here is my code
package tipcalculator;
/** * * @author surkm */ public class Order { String item; double price; public Order() { this("",0.0); } public Order(String item, Double price) { setItem(item); setPrice(price); } /** * updates value of item * @param item */ public void setItem(String item) { this.item = item; } /** * updates value of price * @param price */ public void setPrice(double price) { if(price > 0) { this.price = price; } } public String getItem() { return item; } public double getPrice() { return price; } }
package tipcalculator;
import javafx.application.Application; import javafx.scene.input.MouseEvent; import javafx.collections.ObservableList; import javafx.collections.FXCollections; import javafx.geometry.HPos; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.ListView; import javafx.scene.layout.VBox; import javafx.scene.layout.GridPane; import javafx.stage.Stage; import javafx.scene.control.Slider; import javafx.scene.layout.FlowPane;
/** * * @author surkm */ public class TipCalculator extends Application { private Label lblHeader; private Label lblResults; private Label lblTip; private Label lblTipHeader; private Slider sliderTip; private ObservableList
vBoxResults = new VBox(35, lblResults, btnCalculate); vBoxResults.setPadding( new Insets(15) ); vBoxResults.setPrefWidth(175); vBoxResults.setStyle("-fx-background-color: cornsilk; -fx-border-color: black; -fx-border-radius: 10;"); }
/** * @param args the command line arguments */ public static void main(String[] args) { launch(args); } }
not sure how to finish, i want the slider to be to the right of the list, the slider to the right, and the calculate button below the slider, and the results to the right of the calculate button
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started