Я просто изучаю JavaFX и смотрю учебники.Это много информации для обработки, поэтому я начинаю с простого приложения BMI Calculator.Я не включаю класс BMI, но у него есть конструктор: BMI (двойной рост, двойной вес, пол строки)
Проблемы:
Мой EventHandler не работает.Я пытался сделать то же самое, что и учебник, но я не могу заставить его работать.Я попытался с простой печать, если eventSource = кнопка
Таким образом, у меня будет 3 TextFields, где пользователь вводит 3 указанных значения, рост, вес пола.Когда пользователь делает это, я хочу использовать свой класс BMI и создать новый BMI, используя эти 3 значения.Я нашел метод: "textfield.getAccesibleText (); Возможно, это могло бы сработать, но я не могу узнать, так как мой обработчик событий не работает.
В общем, пользователь должен нажатьКнопка «Рассчитать» после ввода 3 значений, затем я создам Bmi, используя мой класс Bmi, и отобразю значение этого Bmi в новом окне (мне нужно будет добавить поле, в котором Bmi) отобразится позже.
Получите Eventhandler, работающий с возможностью получения значений из текстовых полей (например, сканера), создайте новый Bmi, создайте новое поле, в котором я буду отображать значение этого Bmi (у меня есть метод в моем BMIкласс, который вычисляет ИМТ
public class Main extends Application {
Button b1;
Button b2;
Text g;
Text w;
Text h;
TextField g1;
TextField w1;
TextField h1;
@Override
public void start(Stage stage) throws Exception{
g = new Text("Gender:");
w = new Text("Weight:");
h = new Text("Height");
g1 = new TextField();
w1 = new TextField();
h1 = new TextField();
b1 = new Button("Calculate BMI!");
b2 = new Button("Reset BMI");
GridPane grid = new GridPane();
grid.setMinSize(400, 200);
grid.setPadding(new Insets(10, 10, 10, 10));
grid.setVgap(5);
grid.setHgap(5);
grid.setAlignment(Pos.CENTER);
grid.add(g, 0, 0);
grid.add(g1, 1, 0);
grid.add(w, 0, 1);
grid.add(w1, 1, 1);
grid.add(h, 0, 2);
grid.add(h1, 1, 2);
grid.add(b1, 0, 3);
grid.add(b2, 1, 3);
b1.setStyle("-fx-background-color: purple; -fx-text-fill: white;");
b2.setStyle("-fx-background-color: purple; -fx-text-fill: white;");
grid.setStyle("-fx-background-color: GREEN;");
Scene scene = new Scene(grid);
stage.setScene(scene);
stage.show();
}
public void handle(ActionEvent event){
if(event.getSource() == b1){
//do something
}
}
public static void main(String[] args) {
launch(args);
}}