Entscheiden, welcher Code ausgeführt werden soll

Lion-97

Mitglied
Hallo,

Ich habe zwei Frames geschrieben und zu jedem Frame die main Klasse (Die den code ausführt). Nun habe ich noch ein Frame geschrieben mit dem über Buttons wählen kann, welcher vorheriger Frame (also die main Klasse) ausgeführt werden soll.

Java:
package frame;

import static java.lang.System.out;

import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseListener;
 
import java.io.File;
import java.io.FileNotFoundException;

public class Choose extends JFrame implements ActionListener {
	
	private static final ActionListener ActionEvent = null;
	JButton Einloggen = new JButton("Einloggen");
	JButton Registrieren = new JButton("Registrieren");
	JLabel Wahl = new JLabel("Was wollen Sie tun?");
	
	public Choose() {
		
		add(Wahl);
		add(Registrieren);
		add(Einloggen);
		setLayout(new GridLayout(3, 1));
		setTitle("Wahl");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	Registrieren.addActionListener(this);
    	Einloggen.addActionListener(this);
    	pack();
    	setVisible(true);
		
	}
	
	public void actionPerformed(ActionEvent e) {
		
		
		
	}
	
	public void actionPerformed(ActionEvent i) {

				
		
	}

}

Lion-97

P.S.
Wie man sehen kann, habe ich zwei
Code:
addActionListener(this);
angegeben. Wie kann schreiben, dass sich Button Einloggen auf ActionEvent i und Button Registrieren auf ActionEvent e bezieht. Oder geht so etwas überhaubt
 
der code da ist incompilable, weil du zwei methoden mit der selben signatur hast.... --> eine und da eine if -abfrage event.getSource() == button1

lg
 
du hast zwei methoden actionPerformed mit selber parameterliste und selbem Rückgabewert.... woher soll java denn wissen, welche von den beiden du aufrufen willst? --> compiler error

lg
 
jaaa und wie kann ich das Problem beheben??
Außerdem war des erst meine Frage im P.S. .... hast du au ne Antwort auf die erste Frage???
(war net bös gemeint 🙂 )
 
und da eine if -abfrage event.getSource() == button1
Damit war gemeint, dass man in der actionPerformed(...) mittels if überprüfen kann, welcher Button gedrückt wurde.
Java:
public void actionPerformed(ActionEvent e) {
    if (e.getSource()==Einloggen)
...
Variablenbezeichner beginnen in Java überlicherweise mit einem kleinBuchstaben.
 
Ich würde für jeden Button einen eigenen Listener machen:

Java:
Einloggen.addActionListener(new ActionListener() {
  @Override
  public void actionPerformed(ActionEvent e) {
    // do sth.
  }
}

// das ganze noch für "Registrieren"

So sparst du dir die if-Abfrage und das ganze ist vernünftig gekapselt.
 

Zurück
Oben