diff --git a/pom.xml b/pom.xml
index 8fb278a..5f182b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
2121UTF-8
- 21
+ 21.0.3
diff --git a/src/main/java/workshop/Controller.java b/src/main/java/workshop/Controller.java
index 070b56f..ad8fbdc 100644
--- a/src/main/java/workshop/Controller.java
+++ b/src/main/java/workshop/Controller.java
@@ -1,41 +1,58 @@
package workshop;
import javafx.fxml.FXML;
+import javafx.scene.control.Alert;
import javafx.scene.control.Label;
import javafx.scene.control.Button;
public class Controller {
+ @FXML public Label basicPrice;
+ @FXML public Label proPrice;
@FXML private Label titleLabel;
@FXML private Button themeToggle;
private boolean isDark = true;
- // TODO: (Optional:For Practice) Create initialize function and use it to set prices during runtime.
+ @FXML
+ public void initialize(){
+ basicPrice.setText("$119.99 per month");
+ proPrice.setText("$299.99 per month");
+ }
// TODO: (Optional:For Practice) Make the plan price go 1 dollar up each time user clicks on the shop button.
@FXML
private void buyBasic() {
- // TODO: Call showAlert() with a message indicating the user entered the payment gateway
+ showAlert("Bought the basic plan.", Alert.AlertType.INFORMATION);
}
@FXML
private void buyPro() {
- // TODO: Call showAlert() with a message indicating the user entered the payment gateway
+ showAlert("Bought the pro plan.", Alert.AlertType.INFORMATION);
}
@FXML
private void buyEnterprise() {
- // TODO: Call showAlert() with a message indicating the user entered the payment gateway
+ showAlert("Bought the enterprise plan.", Alert.AlertType.INFORMATION);
}
@FXML
private void toggleTheme() {
- // TODO: Toggle the isDark flag. If dark, switch to style.css and set button text to "Switch to Light Mode"
- // TODO: If light, switch to light.css and set button text to "Switch to Dark Mode"
+ isDark = !isDark;
+ themeToggle.getScene().getStylesheets().clear();
+ if (isDark){
+ themeToggle.getScene().getStylesheets().add(getClass().getResource("style.css").toExternalForm());
+ themeToggle.setText("Switch to light mode");
+ }
+ else {
+ themeToggle.getScene().getStylesheets().add(getClass().getResource("light.css").toExternalForm());
+ themeToggle.setText("Switch to dark mode");
+ }
}
- private void showAlert(String message) {
- // TODO: Create a new Alert of type INFORMATION with the given message and display it
+ private void showAlert(String message, Alert.AlertType alertType) {
+ Alert alert = new Alert(alertType);
+ alert.setHeaderText(message);
+ alert.show();
}
}
diff --git a/src/main/java/workshop/Launcher.java b/src/main/java/workshop/Launcher.java
index 0f82aeb..9f5e06f 100644
--- a/src/main/java/workshop/Launcher.java
+++ b/src/main/java/workshop/Launcher.java
@@ -4,6 +4,6 @@ import javafx.application.Application;
public class Launcher {
public static void main(String[] args) {
- // TODO: Launch the JavaFX application by calling Application.launch(Main.class)
+ Application.launch(Main.class);
}
}
diff --git a/src/main/java/workshop/Main.java b/src/main/java/workshop/Main.java
index d6cd3fd..4087de9 100644
--- a/src/main/java/workshop/Main.java
+++ b/src/main/java/workshop/Main.java
@@ -1,13 +1,19 @@
package workshop;
import javafx.application.Application;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Scene;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage stage) throws Exception {
- // TODO: Load the FXML file using FXMLLoader.load() and get the Parent root
- // TODO: Create a Scene with the root (width=750, height=450) and add the stylesheet "style.css"
- // TODO: Set the stage title to "Pricing Plans", set the scene, and call stage.show()
+ FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("pricing.fxml"));
+ Scene scene = new Scene(fxmlLoader.load(), 750,450);
+ scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
+
+ stage.setTitle("Pricing Plans");
+ stage.setScene(scene);
+ stage.show();
}
}
diff --git a/src/main/resources/workshop/pricing.fxml b/src/main/resources/workshop/pricing.fxml
index a9b03f8..26d492f 100644
--- a/src/main/resources/workshop/pricing.fxml
+++ b/src/main/resources/workshop/pricing.fxml
@@ -16,15 +16,15 @@
-
-
+
+
-
+