ActionEvent bei Eingabe in ein JTextField

Hallo,
ich bin gerade dabei eine Programmieraufgabe zu bearbeiten. Ziel war es eine Grafische Oberfläche für einen Bruchzahlen-Rechner zu implementieren.
Dieser sieht momentan so aus:

Nun stellt sich mir jedoch ein Problem. Als nächstes möchte ich den eingegebenen Text aus dem Textfeld holen (auf eine Ganzzahl wird dann natürlich auch überprüft) und eben einen Bruch erstellen. Jedoch weiß ich nicht wie ich es anstelle, dass ich nun die einzelnen Werte der Textfelder einer Variable zuordne… Eine Auslesung der Rechenoperation habe ich bereits implementiert. Bei drücken auf “run” sollen dann übrigens die erstellten Brüche verrechnet werden.

Also nochmal: Wie lese ich die Eingabe aus dem Textfeld aus und weise diese jeweils 4 Variablen zu um darauf 2 Brüche zu erstellen?

Der Code für das Bruch Panel:

		JPanel bruchPanel = new JPanel();
		bruchPanel.setLayout(new GridLayout(2, 1));
		zaehler** = new JTextField();
		nenner** = new JTextField();
		zaehler**.setHorizontalAlignment(JTextField.RIGHT);
		nenner**.setHorizontalAlignment(JTextField.RIGHT);
		zaehler**.setEditable(editable);
		nenner**.setEditable(editable);
		bruchPanel.add(zaehler**);
		bruchPanel.add(nenner**);
		return bruchPanel;
    }```

Mein bisheriger Ansatz (nicht wirklich viel):
```private class RunListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			String help ;
			help = ((JTextField)(e.getSource())).getText();
		}	
	}```
Hier wollte ich nun eigentlich irgendwie die Variablen einlesen, Brüche erstellen, und mit der Rechenoperation versehen..

Mit freundlichen Grüßen

Der ActionListener gehört an den Run-Button, denn nur dort wird ja eine Aktion ausgeführt. Dann ist die Source aber kein Textfeld sondern eben der Button.

Du hast Deine Texfelder in Arrays. Diese Arrays musst Du dem Listener übergeben:

        {
          private final JTextField[] zaehler;
          private final JTextField[] nenner;
          public RunListener (JTextField[] zaehler, JTextField[] nenner){
               this.zaehler=zaehler;
               this.nenner=nenner;
           }
            public void actionPerformed(ActionEvent e)
            {
                int zaehler0 = Integer.parseInt(zaehler[0].getText());
                int nenner0 = Integer.parseInt(nenner[0].getText());
                // ...
            }  
        }

Vielen dank :slight_smile: