Я создаю приложение Java, и у меня есть проблема. Вот код.Добавление значения из текстового поля
package javastackoverflow;
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.FlowPane;
import javafx.stage.Stage;
public class Javastackoverflow extends Application {
TextField deduct2;
Label text;
double ammount = 0.0;
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Apply");
text = new Label(Double.toString(ammount));
btn.setOnAction((e->{
double getamount = Double.parseDouble(deduct2.getText());
text.setText(Double.toString(getamount)+ ammount);
//this is where the program is suppose to get the amount and add it to amount, notice the + sign.
}))
;
deduct2 = new TextField();
FlowPane root = new FlowPane();
root.setAlignment(Pos.CENTER);
root.getChildren().addAll(btn,deduct2,text);
Scene scene = new Scene(root, 400, 450);
primaryStage.setTitle("Yo Stack");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
Что предполагают сделать
Когда пользователь вводит число в текстовое поле программа предполагает, чтобы взять это число и добавить его сумму = 0;
Моя проблема
Но когда когда-либо с помощью вводит новый номер изменения текста в That число. Помните, я хотел бы, чтобы он добавлял к числу смородины, например (число смородины = 23; пользователь вводил новый номер) новое число = 3; Я бы хотел, чтобы результаты равны = 26, но прямо сейчас программа показывает результат 3;
То, что я думаю, что
Я думаю, что проблема в методе OnAction(). Я думаю, что метод text.setText() отображает текст смородины, введенный в текстовое поле, а затем добавляя его к объему.
Я также не думаю, что использую правильный оператор из этой строки кода. Это может быть частью проблемы.
text.setText (Double.toString (getamount) + количество);
Извещение о том, как я использую знак +, который + добавляет getamount к объему ... или его предполагается. Но когда я меняю этот знак плюса на - или *, я получаю эту ошибку
==============================
плохих типов операндов для бинарного оператора '*'
первого типа: Струнный
второго типа: TextField
================= ==============
Как вы, вероятно, можете сказать, что я действительно хотел бы, чтобы этот код был правильно, если вы не понимаете что-то, прокомментируйте, прежде чем сообщить мне. Тогда я могу быстро его изменить. Спасибо!
Не я получил ошибку. Этот вопрос может потребовать, чтобы вы скопировали и ввели мой код и протестировали его. –
Какая ошибка? – 0xtvarun
';' ожидаемый, а затем я также получаю ошибку, getmount не был инициализирован –