import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.layout.FlowPane;
import javafx.stage.Stage;

public class Multiplier extends Application {

    @Override
    public void start(Stage primaryStage) {
        FlowPane root = new FlowPane();
        root.setPadding(new Insets(10));
        root.setHgap(10);
        root.setVgap(10);

        Label inputLabel = new Label("Enter a number:");
        TextField numberInput = new TextField();
        Button generateButton = new Button("Generate Table");
        TextArea resultArea = new TextArea();
        resultArea.setPrefRowCount(12);
        resultArea.setPrefColumnCount(20);
        resultArea.setEditable(false);

        generateButton.setOnAction(e -> {
            try {
                int number = Integer.parseInt(numberInput.getText());
                StringBuilder table = new StringBuilder();
                table
                    .append("Multiplication Table for ")
                    .append(number)
                    .append("\n\n");

                for (int i = 1; i <= 10; i++) {
                    table
                        .append(number)
                        .append(" x ")
                        .append(i)
                        .append(" = ")
                        .append(number * i)
                        .append("\n");
                }

                resultArea.setText(table.toString());
            } catch (NumberFormatException ex) {
                resultArea.setText("Please enter a valid integer");
            }
        });

        root
            .getChildren()
            .addAll(inputLabel, numberInput, generateButton, resultArea);

        Scene scene = new Scene(root, 300, 400);
        primaryStage.setTitle("Multiplication Table Generator");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
