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); } }