CODE
import javafx.application.Application;
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.TextField;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class SimpleCalculator extends Application {
@Override
public void start(Stage primaryStage) {
// 1. Create Input Fields
TextField num1Input = new TextField();
num1Input.setPromptText("Enter first number");
TextField num2Input = new TextField();
num2Input.setPromptText("Enter second number");
// 2. Create Operation Buttons
Button btnSum = new Button("Sum (+)");
Button btnSub = new Button("Sub (-)");
Button btnMul = new Button("Mul (*)");
Button btnDiv = new Button("Div (/)");
// 3. Create Result Label
Label resultLabel = new Label("Result: ");
resultLabel.setStyle("-fx-font-size: 14px; -fx-font-weight: bold;");
// 4. Set up Button Actions
btnSum.setOnAction(e -> calculate(num1Input, num2Input, resultLabel, "sum"));
btnSub.setOnAction(e -> calculate(num1Input, num2Input, resultLabel, "sub"));
btnMul.setOnAction(e -> calculate(num1Input, num2Input, resultLabel, "mul"));
btnDiv.setOnAction(e -> calculate(num1Input, num2Input, resultLabel, "div"));
// 5. Arrange Elements in Layouts
HBox buttonBox = new HBox(10, btnSum, btnSub, btnMul, btnDiv);
buttonBox.setAlignment(Pos.CENTER);
VBox root = new VBox(15, num1Input, num2Input, buttonBox, resultLabel);
root.setPadding(new Insets(20));
root.setAlignment(Pos.CENTER);
// 6. Set the Scene and Stage
Scene scene = new Scene(root, 350, 250);
primaryStage.setTitle("Simple Calculator");
primaryStage.setScene(scene);
primaryStage.show();
}
private void calculate(TextField num1Input, TextField num2Input, Label resultLabel, String operation) {
try {
double num1 = Double.parseDouble(num1Input.getText());
double num2 = Double.parseDouble(num2Input.getText());
double result = 0;
switch (operation) {
case "sum": result = num1 + num2; break;
case "sub": result = num1 - num2; break;
case "mul": result = num1 * num2; break;
case "div":
if (num2 == 0) {
resultLabel.setText("Result: Cannot divide by zero!");
return;
}
result = num1 / num2;
break;
}
resultLabel.setText("Result: " + result);
} catch (NumberFormatException e) {
resultLabel.setText("Result: Please enter valid numbers!");
}
}
public static void main(String[] args) {
launch(args);
}
}
OUTPUT
Enter first number
Enter second number
Sum (+)
Sub (-)
Mul (*)
Div (/)
Result:
No comments:
Post a Comment