JavaFX ActionEvent

JavaPeter

Mitglied
Hallo,


ich habe folgende Problem

berech.jpg


ich möchte zwei Zahlen miteinander addieren in meinen Programm sind werte fest eingeben.
Wie kann ich diese Werte über die Textfelder eingeben und mit EventHandler in Textfeld Ergebnis ausgeben?


Java:
package primkalk;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

/**
 *
 * @author JuergenLaas
 */
public class PrimKalk extends Application {

    private String ersteZahl;
    private String zweiteZahl;
    private String ergebnis;

    @Override
    public void start(Stage primaryStage) {
        Button btn = new Button("Berechnen");

        Label lz1 = new Label("Zahl 1");
        TextField z1 = new TextField(ersteZahl);
        z1.getText();
        Label lz2 = new Label("Zahl 2");
        TextField z2 = new TextField(zweiteZahl);
        z2.getText();
        Label lergebnis = new Label("Ergebnis");

        final TextField erg = new TextField(ergebnis);

        VBox layout = new VBox();
        layout.getChildren().addAll(lz1, z1, lz2, z2, lergebnis, erg, btn);
        int ersteZahl;
        int zweiteZahl;
        int dritteZahl;
        final int ergebnis;

        ersteZahl = 2;
        zweiteZahl = 2;
        dritteZahl = 3;

        ergebnis = (ersteZahl * zweiteZahl) + dritteZahl;
//        btn.setText("Say 'Hello World'");
        btn.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                System.out.println(ergebnis);
            }
        });

        StackPane root = new StackPane();
        root.getChildren().add(layout);

        Scene scene = new Scene(root, 300, 250);

        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    /**
     * The main() method is ignored in correctly deployed JavaFX application.
     * main() serves only as fallback in case the application can not be
     * launched through deployment artifacts, e.g., in IDEs with limited FX
     * support. NetBeans ignores main().
     *
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }
 

wef34fewrg

Aktives Mitglied
Innerhalb des EventHandlers kannst du auf das Textfeld zugreifen und mit der Methode
Code:
setText(jString )
den Text setzen. Den int in einen String umwandeln und dann sollte es keine Probleme geben. Bin jetzt nicht sicher, ob du das willst?!
 

anti-held

Bekanntes Mitglied
Java:
		int zahl1 = Integer.parseInt(z1.getText());
		int zahl2 = Integer.parseInt(z2.getText());
		erg.setText("" + (zahl1 + zahl2));
 

JavaPeter

Mitglied
NetBeans zeigt

netbe.jpg



Java:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package primkalk;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

/**
 *
 * @author JuergenLaas
 */
public class PrimKalk extends Application {

    private String ersteZahl;
    private String zweiteZahl;
    private String ergebnis;

    @Override
    public void start(Stage primaryStage) {
        Button btn = new Button("Berechnen");

        Label lz1 = new Label("Zahl 1");
        TextField z1 = new TextField(ersteZahl);
        z1.getText();
        Label lz2 = new Label("Zahl 2");
        TextField z2 = new TextField(zweiteZahl);
        z2.getText();
        Label lergebnis = new Label("Ergebnis");

        final TextField erg = new TextField(ergebnis);

        VBox layout = new VBox();
        layout.getChildren().addAll(lz1, z1, lz2, z2, lergebnis, erg, btn);
        
        
            int zahl1 = Integer.parseInt(z1.getText());
            int zahl2 = Integer.parseInt(z2.getText());
            erg.setText("" + (zahl1 + zahl2));
        
        
//        int ersteZahl;
//        int zweiteZahl;
//        int dritteZahl;
//        final int ergebnis;
//
//        ersteZahl = 2;
//        zweiteZahl = 2;
//        dritteZahl = 3;

 //       ergebnis = (ersteZahl * zweiteZahl) + dritteZahl;
//        btn.setText("Say 'Hello World'");
        btn.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                System.out.println(ergebnis);
            }
        });

        StackPane root = new StackPane();
        root.getChildren().add(layout);

        Scene scene = new Scene(root, 300, 250);

        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    /**
     * The main() method is ignored in correctly deployed JavaFX application.
     * main() serves only as fallback in case the application can not be
     * launched through deployment artifacts, e.g., in IDEs with limited FX
     * support. NetBeans ignores main().
     *
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }

}
 

dzim

Top Contributor
Da du es mit einer anonymen Klasse machst, müssen deine Textfeld vorher als final initialisiert werden. Hat du das gemacht?
 

anti-held

Bekanntes Mitglied
Mein Code muss natürlich innerhalb der Anonymen Klasse in der Methode [c]handle[/c] stehen.

Initialisieren einer Variable geht z.B. mit

Java:
String string = "";
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S ActionEvent Press Enter per Code auslösen AWT, Swing, JavaFX & SWT 22
B JavaFX Verständnisfrage EventHandler<ActionEvent> Implementierung in meiner Klasse AWT, Swing, JavaFX & SWT 2
M JavaFX ActionEvent Button AWT, Swing, JavaFX & SWT 6
S JavaFx - Button ActionEvent Probleme AWT, Swing, JavaFX & SWT 3
S JavaFX Unterschied MouseEvent und ActionEvent AWT, Swing, JavaFX & SWT 3
KilledByCheese Event Handling Vom ActionEvent auf String zugreifen - genaueres in der Beschreibung AWT, Swing, JavaFX & SWT 3
G Swing Durch GlassPane auf Button klicken und ActionEvent auslösen AWT, Swing, JavaFX & SWT 0
K Ereignisbehandlung, ActionListener, ActionEvent AWT, Swing, JavaFX & SWT 3
T Fehler bei ActionEvent? AWT, Swing, JavaFX & SWT 3
P ActionEvent wird nicht verarbeitet AWT, Swing, JavaFX & SWT 4
X AWT ActionEvent wirft NullPointerExpection Warum? AWT, Swing, JavaFX & SWT 42
P Event Handling Anfängerfrage: ActionEvent bekommt kein Zugriff auf Objekt AWT, Swing, JavaFX & SWT 3
U Event Handling JButton Actionevent: starte Spiel AWT, Swing, JavaFX & SWT 4
M Swing ActionEvent soll von Anderem ActionEvent abhängen AWT, Swing, JavaFX & SWT 3
M JPopupMenu per Klick schließen und gleichzeitig ActionEvent auf JButton? AWT, Swing, JavaFX & SWT 15
1 ActionEvent generieren und an ActionListener weiterleiten AWT, Swing, JavaFX & SWT 12
L JFrame größe in einem ActionEvent ändern AWT, Swing, JavaFX & SWT 4
C Programm für 5 sekunden anhalten und actionevent abfangen AWT, Swing, JavaFX & SWT 18
M Arbeiten mit actionPerformed(ActionEvent) oder Alternative AWT, Swing, JavaFX & SWT 7
N Aufgabe: ActionEvent - Abfrage AWT, Swing, JavaFX & SWT 7
N Problem mit ActionEvent - Abfrage AWT, Swing, JavaFX & SWT 10
Dit_ Objekt mit ActionEvent übergeben AWT, Swing, JavaFX & SWT 2
B JFreeChart Balkendiagramm ActionEvent AWT, Swing, JavaFX & SWT 2
kirchrath Swing Aus ActionEvent Objekt herausfinden auf dem er ausgeführt wurde AWT, Swing, JavaFX & SWT 4
T JTable durch ActionEvent befüllen AWT, Swing, JavaFX & SWT 3
B ActionEvent Dateipfad als String übergeben AWT, Swing, JavaFX & SWT 11
M Frage zu ActionEvent? AWT, Swing, JavaFX & SWT 4
P KeyEvent methode an actionEvent methode weiterleiten AWT, Swing, JavaFX & SWT 5
M Eigenes ActionEvent / Eigener Listener AWT, Swing, JavaFX & SWT 2
G ActionEvent richtig anbringen AWT, Swing, JavaFX & SWT 7
C JButton-Name per ActionEvent rausfinden AWT, Swing, JavaFX & SWT 2
P actionlistener und actionevent AWT, Swing, JavaFX & SWT 2
M ActionEvent löst nicht aus AWT, Swing, JavaFX & SWT 4
T actionevent an modalen dialog AWT, Swing, JavaFX & SWT 5
L eigene Komponente, ActionEvent senden? AWT, Swing, JavaFX & SWT 3
M ActionEvent manuell senden AWT, Swing, JavaFX & SWT 7
S Neubaufbau eines Tabelleninhalts bei actionEvent AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben