Bruch GUI

Sandro95

Bekanntes Mitglied
a) in der start Methode ein assoziation vom typ bruch Bruch neuerBRuch;
b) neuerBruch = eins.addiere(eins,zwei); ( was nicht klappt)
c) neuerBruch.setZaehler(Integer.parseInt(zaehlerErg.getText()));
neuerBruch.setNenner(Integer.parseInt(nennerErg.getText)));

?

c klappt nicht : local variable must be final steht dort ..
Dann versuche es doch wirklich einmal wirklich nur jeden einzelnen Punkt für sich zu nehmen....

Also
a) Wie deklarierst Du eine lokale Variable vom Typ Bruch in Methode?

Wenn Du die hast:
b) Weise der Variablen das Ergebnis der Rechnung zu.

c) Welche Controls sollen welchen Wert bekommen? Das ist nur zu nennen, also hier will ich keinen Java Code sehen!
 

Sandro95

Bekanntes Mitglied
Dann versuche es doch wirklich einmal wirklich nur jeden einzelnen Punkt für sich zu nehmen....

Also
a) Wie deklarierst Du eine lokale Variable vom Typ Bruch in Methode?

Wenn Du die hast:
b) Weise der Variablen das Ergebnis der Rechnung zu.

c) Welche Controls sollen welchen Wert bekommen? Das ist nur zu nennen, also hier will ich keinen Java Code sehen!
Java:
public void start(Stage primstage) {
        
        Bruch neuerBruch;

        BorderPane border = new BorderPane();

        HBox hboxTop = new HBox();
        VBox hboxCenter = new VBox();
        HBox boxBottom = new HBox();

        VBox boxLeft = new VBox();
        VBox boxRight = new VBox();

        border.setTop(hboxTop);
        border.setLeft(boxLeft);
        border.setCenter(hboxCenter);
        border.setRight(boxRight);
        border.setBottom(boxBottom);

        Label label1 = new Label("Bruchrechnen");
        Label bruch1 = new Label("Bruch 1");
        Label bruch2 = new Label("Bruch 2");
        Label erg = new Label("Ergebnis");
        Label dezi = new Label("Dezimalwert");

        NumberTextField zaehlerEins = new NumberTextField();
        NumberTextField nennerEins = new NumberTextField();
        NumberTextField zaehlerZwei = new NumberTextField();
        NumberTextField nennerZwei = new NumberTextField();
        NumberTextField zaehlerErg = new NumberTextField();
        NumberTextField nennerErg = new NumberTextField();
        NumberTextField ergT = new NumberTextField();

        Button plus = new Button("+");
        Button minus = new Button("-");
        Button mal = new Button("*");
        Button geteilt = new Button("/");

        hboxTop.setAlignment(Pos.CENTER);
        hboxTop.setPadding(new Insets(80, 0, 0, 0));

        hboxCenter.setAlignment(Pos.TOP_CENTER);
        hboxCenter.setPadding(new Insets(115, 100, 0, 50));

        erg.setPadding(new Insets(0, 20, 0, 0));
        dezi.setPadding(new Insets(20, 20, 0, 0));

        boxLeft.setAlignment(Pos.CENTER);
        boxLeft.setPadding(new Insets(80, 100, 0, 10));

        boxRight.setAlignment(Pos.BASELINE_RIGHT);
        boxRight.setPadding(new Insets(115, 10, 0, 0));

        boxBottom.setAlignment(Pos.CENTER);
        boxBottom.setPadding(new Insets(0, 0, 50, 0));
        boxBottom.setSpacing(10);

        boxBottom.getChildren().addAll(plus, minus, mal, geteilt);
        hboxTop.getChildren().add(label1);
        boxLeft.getChildren().addAll(bruch1, zaehlerEins, nennerEins);
        hboxCenter.getChildren().addAll(bruch2, zaehlerZwei, nennerZwei);
        boxRight.getChildren().addAll(erg, zaehlerErg, nennerErg, dezi, ergT);

        Scene szene = new Scene(border, 400, 400);
        primstage.setScene(szene);
        primstage.setTitle("Bruchrechnen_GUI");
        primstage.show();

        plus.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent e) {
                Bruch eins = new Bruch();
                Bruch zwei = new Bruch();
                Bruch drei = new Bruch();
                eins.setZaehler(Integer.parseInt(zaehlerEins.getText()));
                eins.setNenner(Integer.parseInt(nennerEins.getText()));

                zwei.setZaehler(Integer.parseInt(zaehlerZwei.getText()));
                zwei.setNenner(Integer.parseInt(nennerZwei.getText()));

                neuerBruch = eins.addiere(eins, zwei);
                ergT.setText(Double.toString(eins.getDezimalwert()));
 
K

kneitzel

Gast
Also die start Methode habe ich nur als Beispiel genannt. Die Lokale Variable gehört natürlich direkt dahin, wo Du das Ergebnis ausrechnest ...

Also:
Java:
            @Override
            public void handle(ActionEvent e) {
                // ...

                Bruch neuerBruch = eins.addiere(eins, zwei);
                ergT.setText(Double.toString(neuerBruch.getDezimalwert()));

Nun siehst Du ja, wie Du ergT gesetzt hast. zaehlerErg und nennerErg kannst Du prinzipiell ähnlich behandeln.

Zaehler / Nenner sind dabei keine Double, daher wäre Integer.toString(...) evtl. eine nützliche Methode. Und statt getDezimalwert kannst Du die jeweils notwendigen Getter nutzen ...
 

Sandro95

Bekanntes Mitglied
Also die start Methode habe ich nur als Beispiel genannt. Die Lokale Variable gehört natürlich direkt dahin, wo Du das Ergebnis ausrechnest ...

Also:
Java:
            @Override
            public void handle(ActionEvent e) {
                // ...

                Bruch neuerBruch = eins.addiere(eins, zwei);
                ergT.setText(Double.toString(neuerBruch.getDezimalwert()));

Nun siehst Du ja, wie Du ergT gesetzt hast. zaehlerErg und nennerErg kannst Du prinzipiell ähnlich behandeln.

Zaehler / Nenner sind dabei keine Double, daher wäre Integer.toString(...) evtl. eine nützliche Methode. Und statt getDezimalwert kannst Du die jeweils notwendigen Getter nutzen ...
also gehört die lokale variable in der Bruch klasse ,richtig?
dann würde ich in der addieren methode alles meiner lokalen variable neuerBruch zuweisen ?

ich entschuldige mich für meine viele fragen aber ich kann wirklich nicht mehr .. mein kopf ist am explodieren :D..
 

Sandro95

Bekanntes Mitglied
Also die start Methode habe ich nur als Beispiel genannt. Die Lokale Variable gehört natürlich direkt dahin, wo Du das Ergebnis ausrechnest ...

Also:
Java:
            @Override
            public void handle(ActionEvent e) {
                // ...

                Bruch neuerBruch = eins.addiere(eins, zwei);
                ergT.setText(Double.toString(neuerBruch.getDezimalwert()));

Nun siehst Du ja, wie Du ergT gesetzt hast. zaehlerErg und nennerErg kannst Du prinzipiell ähnlich behandeln.

Zaehler / Nenner sind dabei keine Double, daher wäre Integer.toString(...) evtl. eine nützliche Methode. Und statt getDezimalwert kannst Du die jeweils notwendigen Getter nutzen ...
ich kriege es einfach nicht hin jedes mal kommt es zu einer fehlermeldung ..
 
K

kneitzel

Gast
also gehört die lokale variable in der Bruch klasse ,richtig?
dann würde ich in der addieren methode alles meiner lokalen variable neuerBruch zuweisen ?

ich entschuldige mich für meine viele fragen aber ich kann wirklich nicht mehr .. mein kopf ist am explodieren :D..
Nein, am Bruch verändern wir nichts mehr! Schau auf den Code, den ich gepostet habe, denn da habe ich ja extra den Methodenkopf stehen gelassen. In deinem Event Handler wird die lokale Variable erzeugt und mit dem Ergebnis der Berechnung gefüllt.

Dann wird die lokale Variable direkt verwendet, um den Text von ergT zu setzen.

Und so wie Du ergT.setText aufrufst, kannst Du dann auch direkt nennerErg.setText und zaehlerErg.setText verwenden ... aber schau erst einmal, dass Du die kleine Änderung, die ich gepostet habe, zum laufen kriegst. Ggf. Fehlermeldungen zeigen...
 

Sandro95

Bekanntes Mitglied
danke ich versuche es mal .. vielen dank wirklich falls ich es nicht hinbekomme würde ich mich noch mals melden ..
Nein, am Bruch verändern wir nichts mehr! Schau auf den Code, den ich gepostet habe, denn da habe ich ja extra den Methodenkopf stehen gelassen. In deinem Event Handler wird die lokale Variable erzeugt und mit dem Ergebnis der Berechnung gefüllt.

Dann wird die lokale Variable direkt verwendet, um den Text von ergT zu setzen.

Und so wie Du ergT.setText aufrufst, kannst Du dann auch direkt nennerErg.setText und zaehlerErg.setText verwenden ... aber schau erst einmal, dass Du die kleine Änderung, die ich gepostet habe, zum laufen kriegst. Ggf. Fehlermeldungen zeigen...
 

Sandro95

Bekanntes Mitglied
Nein, am Bruch verändern wir nichts mehr! Schau auf den Code, den ich gepostet habe, denn da habe ich ja extra den Methodenkopf stehen gelassen. In deinem Event Handler wird die lokale Variable erzeugt und mit dem Ergebnis der Berechnung gefüllt.

Dann wird die lokale Variable direkt verwendet, um den Text von ergT zu setzen.

Und so wie Du ergT.setText aufrufst, kannst Du dann auch direkt nennerErg.setText und zaehlerErg.setText verwenden ... aber schau erst einmal, dass Du die kleine Änderung, die ich gepostet habe, zum laufen kriegst. Ggf. Fehlermeldungen zeigen...
es hat geklappt.. ich danke dir bze euch noch mal enorm und danke für eure geduld ihr habt mir echt geholfen .:!!!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Bruch Rechner AWT, Swing, JavaFX & SWT 18

Ähnliche Java Themen

Neue Themen


Oben