96 lines
2.2 KiB
Java
96 lines
2.2 KiB
Java
|
import javafx.application.Application;
|
||
|
import javafx.geometry.Insets;
|
||
|
import javafx.scene.Scene;
|
||
|
import javafx.scene.control.Label;
|
||
|
import javafx.scene.layout.VBox;
|
||
|
import javafx.stage.Stage;
|
||
|
|
||
|
class Employee {
|
||
|
|
||
|
private String name;
|
||
|
private String empID;
|
||
|
private String designation;
|
||
|
private double basicPay;
|
||
|
private double DA;
|
||
|
private double HRA;
|
||
|
private double PF;
|
||
|
private double LIC;
|
||
|
private double netSalary;
|
||
|
|
||
|
public Employee(
|
||
|
String name,
|
||
|
String empID,
|
||
|
String designation,
|
||
|
double basicPay,
|
||
|
double LIC
|
||
|
) {
|
||
|
this.name = name;
|
||
|
this.empID = empID;
|
||
|
this.designation = designation;
|
||
|
this.basicPay = basicPay;
|
||
|
this.LIC = LIC;
|
||
|
|
||
|
this.DA = 0.4 * basicPay;
|
||
|
this.HRA = 0.15 * basicPay;
|
||
|
this.PF = 0.12 * basicPay;
|
||
|
|
||
|
this.netSalary = basicPay + DA + HRA - PF - LIC;
|
||
|
}
|
||
|
|
||
|
public String getEmployeeInfo() {
|
||
|
return String.format(
|
||
|
"""
|
||
|
Employee Details:
|
||
|
Name: %s
|
||
|
Employee ID: %s
|
||
|
Designation: %s
|
||
|
Basic Pay: $%.2f
|
||
|
DA: $%.2f
|
||
|
HRA: $%.2f
|
||
|
PF: $%.2f
|
||
|
LIC: $%.2f
|
||
|
Net Salary: $%.2f
|
||
|
""",
|
||
|
name,
|
||
|
empID,
|
||
|
designation,
|
||
|
basicPay,
|
||
|
DA,
|
||
|
HRA,
|
||
|
PF,
|
||
|
LIC,
|
||
|
netSalary
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public class EmployeeInfoApp extends Application {
|
||
|
|
||
|
@Override
|
||
|
public void start(Stage primaryStage) {
|
||
|
Employee emp = new Employee(
|
||
|
"John Doe",
|
||
|
"E123",
|
||
|
"Software Engineer",
|
||
|
50000,
|
||
|
2000
|
||
|
);
|
||
|
|
||
|
Label infoLabel = new Label(emp.getEmployeeInfo());
|
||
|
infoLabel.setStyle("-fx-font-family: monospace;");
|
||
|
|
||
|
VBox root = new VBox(10);
|
||
|
root.setPadding(new Insets(10));
|
||
|
root.getChildren().add(infoLabel);
|
||
|
|
||
|
Scene scene = new Scene(root, 300, 400);
|
||
|
primaryStage.setTitle("Employee Information");
|
||
|
primaryStage.setScene(scene);
|
||
|
primaryStage.show();
|
||
|
}
|
||
|
|
||
|
public static void main(String[] args) {
|
||
|
launch(args);
|
||
|
}
|
||
|
}
|