Hallo zusammen
vorneweg: ich bin noch ein ziemlicher "noob" in Sachen programmieren.
Derzeit beschäftige ich mich mit JavaFX und habe dafür einen kleinen Rechner geschrieben (mehr oder weniger nach Anleitung)..
Das ganze erstellt ein kleines Fenster indem man eine Zahl eingeben kann, dann beim klick auf einen der Buttons eine Rechnung durchgeführt wird und dann ein Ergebnis ausgespuckt wird.
Nun würde ich gerne diese Rechenoperationen in eine eigene Klasse (rechner) auslagern. macht vermutlich keinen Sinn aber ich würds trotzdem gerne machen
Mein Problem: ich bekomme die eingaben im Textfield nicht richtig an meine Rechenmethoden übergeben und zurückgegeben. Ich habs mit String in Double umwandeln und andersrum versucht - klappt einfach nicht.
Das war zumindest meine Idee:
Irgendwie die Eingaben vom Textfield (eingabeZahl) in einer Double-Variable "speichern", diese an meine Rechenmethode übergeben und dann im Textfield (ergebnis) mein Ergebnis erhalten.
Ist schon der Ansatz falsch oder bin ich einfach zu doof um diesen auch umzusetzen?
Hoffe ihr konntet mir folgen Freu mich über jede Hilfe!
vorneweg: ich bin noch ein ziemlicher "noob" in Sachen programmieren.
Derzeit beschäftige ich mich mit JavaFX und habe dafür einen kleinen Rechner geschrieben (mehr oder weniger nach Anleitung)..
Java:
import javafx.application.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.*;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.scene.control.*;
public class Rechner extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) {
Rechenoperation rechner = new Rechenoperation();
[B]// Soll genutzt werden! [/B]
stage.setTitle("Rechner");
GridPane grid = new GridPane();
grid.setAlignment(Pos.CENTER);
grid.setPadding(new Insets(5,5,5,5));
grid.setHgap(5);
grid.setVgap(5);
Text titel = new Text("Number-Wizard");
titel.setFont(Font.font("Arial",FontWeight.BOLD,25));
grid.add(titel,0,0,1,1);
Label beschriftung = new Label("Gib eine Zahl ein:");
beschriftung.setFont(Font.font("Arial",FontWeight.BOLD,20));
grid.add(beschriftung,0,1);
TextField eingabeZahl = new TextField();
grid.add(eingabeZahl,0,2);
Label beschriftung2 = new Label("Ergebnis:");
beschriftung2.setFont(Font.font("Arial",FontWeight.BOLD,20));
grid.add(beschriftung2,0,3);
TextField ergebnis = new TextField();
grid.add(ergebnis,0,4);
Button btn0 = new Button("Verdoppeln");
grid.add(btn0,0,5);
Button btn1 = new Button("Quadrat");
grid.add(btn1,0,6);
Button btn2 = new Button("Wurzel");
grid.add(btn2,0,7);
// Bis hier: "Oberfläche"
btn0.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
ergebnis.setText("" + (2*Double.parseDouble(eingabeZahl.getText())));
}
});
btn1.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
ergebnis.setText("" + (Double.parseDouble(eingabeZahl.getText())*Double.parseDouble(eingabeZahl.getText())));
}
});
btn2.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
ergebnis.setText("" + (Math.sqrt(Double.parseDouble(eingabeZahl.getText()))));
}
});
//Buttons
Scene scene = new Scene(grid, 700,400);
stage.setScene(scene);
stage.show();
}
}
Das ganze erstellt ein kleines Fenster indem man eine Zahl eingeben kann, dann beim klick auf einen der Buttons eine Rechnung durchgeführt wird und dann ein Ergebnis ausgespuckt wird.
Nun würde ich gerne diese Rechenoperationen in eine eigene Klasse (rechner) auslagern. macht vermutlich keinen Sinn aber ich würds trotzdem gerne machen
Mein Problem: ich bekomme die eingaben im Textfield nicht richtig an meine Rechenmethoden übergeben und zurückgegeben. Ich habs mit String in Double umwandeln und andersrum versucht - klappt einfach nicht.
Das war zumindest meine Idee:
Irgendwie die Eingaben vom Textfield (eingabeZahl) in einer Double-Variable "speichern", diese an meine Rechenmethode übergeben und dann im Textfield (ergebnis) mein Ergebnis erhalten.
Ist schon der Ansatz falsch oder bin ich einfach zu doof um diesen auch umzusetzen?
Hoffe ihr konntet mir folgen Freu mich über jede Hilfe!