package Pane; import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.TextField; import javafx.scene.control.Label; import javafx.scene.layout.GridPane; public class javaFXBMI extends Application{ private TextField tfHeight = new TextField(); private TextField tfWeight = new TextField(); private TextField tfBMI = new TextField(); private TextField tfStatus = new TextField(); private Button btCalculate = new Button("计算BMI"); public void start(Stage primaryStage){ GridPane bmiPane = new GridPane(); bmiPane.add(new Label("体重(公斤) "),0,0); bmiPane.add(tfWeight,1,0); bmiPane.add(new Label("身高(米) "),0,1); bmiPane.add(tfHeight,1,1); bmiPane.add(new Label("BMI "),0,2); bmiPane.add(tfBMI,1,2); bmiPane.add(new Label("体重状况 "),0,3); bmiPane.add(tfStatus,1,3); bmiPane.add(btCalculate,1,4); tfBMI.setEditable(false); tfStatus.setEditable(false); btCalculate.setOnAction(e->{ double weight = Double.parseDouble(tfWeight.getText()); double height = Double.parseDouble(tfHeight.getText()); double bmi = weight/(height * height); tfBMI.setText(bmi + ""); if ((bmi >= 18.5)&&(bmi < 25)) tfStatus.setText("Normal"); else tfStatus.setText("Abnormal"); }); Scene scene = new Scene(bmiPane,250,120); primaryStage.setScene(scene); primaryStage.setTitle("BMI计算"); primaryStage.show(); } public static void main(String[] args){ Application.launch(args); } }