Дополнение Javafx - PullRequest
       1

Дополнение Javafx

1 голос
/ 08 апреля 2020

Я недавно начал использовать Javafx, и я очень новичок в этом. Я пытаюсь создать программу, в которой, как только вы вводите весь код и запускаете его, появляется небольшое окно с просьбой ввести номер 1 и номер 2, а затем программу суммирует оба этих числа и выводит результат на вкладке результатов. Я застрял в том, где вы должны написать код, чтобы вы нажали кнопку, чтобы вычислить число, и где вам нужно добавить оба числа. Спасибо

import java.math.BigInteger;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.event.ActionEvent;
import javafx.scene.control.TextField;

public class AdditionAppController {

@FXML
private Label Number1Label;

@FXML
private Label Number2Label;

@FXML
private Label ResultLabel;

@FXML
private TextField Number1TextField;

@FXML
private TextField Number2TextField;

@FXML
private TextField ResultTextField;

@FXML
private Button CalculateButtonPressed;

@FXML
void CalculateButtonPressed(ActionEvent event) {
    try {
        BigInteger Number1 = new BigInteger(Number1TextField.getText());
        BigInteger Number2 = new BigInteger(Number2TextField.getText());
        BigInteger result = Number1.add(Number2);

        //ResultTextField.setText(Integer.(result));
    } catch (NumberFormatException ex) {
        Number1TextField.setText("Enter first number");
        Number1TextField.selectAll();
        Number1TextField.requestFocus();
        Number2TextField.setText("Enter second number");
        Number2TextField.selectAll();
        Number2TextField.requestFocus();
    }
}

    }

1 Ответ

1 голос
/ 09 апреля 2020

Вам необходимо добавить обработчик событий в свой CalculateButtonPressed.

Если вы используете Scene Builder, вам нужно нажать кнопку «Рассчитать», а в правой части свернуть все остальные разделы и развернуть раздел «Код».

enter image description here

, поэтому в fx: id вы должны установить идентификатор на CalculateButtonPressed, а на OnAction - что-то вроде "onCalculateButtonPressed".

Затем go вернитесь к своему коду и добавьте обработчик событий из F XML, например, так:

    @FXML 
    void onCalculateButtonPressed(ActionEvent event) {
       //Add your code to calculate your sum here
    }

Забавная функция Scene Builder, вы можете скопировать некоторый скелетный код, если вы go на View> Show Sample Controller Skeleton, и он сгенерирует это для вас. Вы можете скопировать и вставить часть этого (или все это) в свой собственный контроллер.

Если вы НЕ используете SceneBuilder, в вашем f xml добавьте к компоненту fx:id="" и onAction="#actionHere", чтобы ваши были:

<Button fx:id="CalculateButtonPressed" onAction="#onCalculateButtonPressed" text=... />

И вы все равно добавили бы тот же код обработчика событий, который я выложил выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...