package workshop; import javafx.fxml.FXML; import javafx.scene.control.Label; import javafx.scene.control.Button; import javafx.scene.control.Alert; import javafx.scene.Scene; import java.util.Objects; public class Controller { @FXML private Label titleLabel; @FXML private Button themeToggle; @FXML private Label basicPriceLabel; @FXML private Label proPriceLabel; private boolean isDark = true; private double basicPrice = 9.99; private double proPrice = 19.99; @FXML public void initialize() { basicPriceLabel.setText("$" + String.format("%.2f", basicPrice) + " / month"); proPriceLabel.setText("$" + String.format("%.2f", proPrice) + " / month"); } @FXML private void buyBasic() { basicPrice += 1.0; basicPriceLabel.setText("$" + String.format("%.2f", basicPrice) + " / month"); showAlert("You entered the payment gateway for the Basic plan."); } @FXML private void buyPro() { proPrice += 1.0; proPriceLabel.setText("$" + String.format("%.2f", proPrice) + " / month"); showAlert("You entered the payment gateway for the Pro plan."); } @FXML private void buyEnterprise() { showAlert("You entered the payment gateway for the Enterprise plan."); } @FXML private void toggleTheme() { isDark = !isDark; Scene scene = themeToggle.getScene(); scene.getStylesheets().clear(); if (isDark) { scene.getStylesheets().add(Objects.requireNonNull(getClass().getResource("style.css")).toExternalForm()); themeToggle.setText("Switch to Light Mode"); } else { scene.getStylesheets().add(Objects.requireNonNull(getClass().getResource("light.css")).toExternalForm()); themeToggle.setText("Switch to Dark Mode"); } } private void showAlert(String message) { Alert alert = new Alert(Alert.AlertType.INFORMATION); alert.setTitle("Payment Gateway"); alert.setHeaderText(null); alert.setContentText(message); alert.showAndWait(); } }