Swing Änderung des ActionListener Events nach Klick auf JButton

ToffieFaye

Mitglied
Hallo liebe Java-Spezialisten,

ich bin gerade dabei ein Programm für die Uni zu schreiben und hänge jetzt schon seit mehreren Stunden vor einem Problem, dass ich nicht schön gelöst bekomme.
Ein Teilprogramm soll die Eingabe des Nutzers in ein JTextField einlesen und speichern. Der Nutzer muss 2 Eingaben tätigen: Name und Ort.
Ich habe einen ActionListener zum JButton "Speichern" hinzugefügt, der die Eingabe "name" einließt und speichert. Nachdem das passiert ist, soll sich aber das Event des ActionListeners ändern und nicht mehr den "Namen" einlesen, sondern den "Ort". Geht das so? Ist ein anderer Ansatz evtl. besser?
Es geht mir halt darum so wenig Zeilen wie mgl. zu schreiben, weshalb ich nicht 2. separate Fenster (JFrames) erstellen wollte (also eins für den Namen und eins für den Ort)
Ich nehme gerne jeden Tipp an! :)

Vielen lieben Dank!

Java:
public class Abfragen extends JFrame {
   
    private String name;
    private String ort;
           
    public Abfragen(){
        this.name = "";
        this.ort = "";
        erstelleFenster();
    }
       
   
    public void erstelleFenster(){
        JFrame fenster = new JFrame();
        fenster.setTitle("Studiengangsinformationen");
       
        // Inhalt (Fenster 1: Frage nach name):
        JPanel inhalt = new JPanel();
        JLabel ueberschrift = new JLabel("<html><i>Studiengangsname:</b><html>");
        JLabel frage = new JLabel("Wie lautet der Name des Studienganges?");
       
        JTextField eingabe = new JTextField(25);
        JButton speichernB = new JButton("Speichern");
        inhalt.add(ueberschrift);
        inhalt.add(frage);
        inhalt.add(eingabe);
        inhalt.add(speichernB);
        fenster.setContentPane(inhalt);
       
        // durch Speichern oder Enter drücken, wird Eingabe gespeichert und eine neue Frage gestellt:
        ActionListener speichernName = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // Speichern des Studiengangsnamen:
                name = eingabe.getText();
                System.out.println(name);
               
                // neue Frage (ort):
                ueberschrift.setText("<html><i>Studiengangsort:</b><html>");
                frage.setText("An welcher Hochschule oder Universität studierst du?");
                eingabe.setText("");
                speichernB.removeActionListener(speichernName);
                eingabe.removeActionListener(speichernName);
                // Speichern des ortes:
                ActionListener speichernOrt = new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        ort = eingabe.getText();
                        System.out.println(ort);
                        fenster.dispose();
                        }
                };
            } 
        };
        speichernB.addActionListener(speichernName);
        eingabe.addActionListener(speichernName); //auch bei Enter Taste drücken wird gespeichert

        fenster.setSize(400,400);
        fenster.setMinimumSize(new Dimension(200,300));
        fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fenster.setVisible(true);
       
    }
       
   
    public static void main(String[] args) {
        JFrame fenster = new Abfragen();
        fenster.setAlwaysOnTop(true);
    }
}
 

HarleyDavidson

Bekanntes Mitglied
Du könntest eine Boolean-Variable verwenden, die du nach dem Speichern des Namens auf true setzt.
Klickt der Benutzer den Button nochmal an und ist die Variable dann auf true, wird der Ort gespeichert.
Sollte das Speichern des Ortes allerdings eine größere Prüfung beinhalten, würde ich nach dem Klick einen anderen Action-Listener auf den Button hängen und die Methode auslagern.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
melaniemueller Reaktion auf Änderung im Kombinationsfeld AWT, Swing, JavaFX & SWT 5
E Swing Componenten werden nach Änderung des display modes verzerrt dargestellt AWT, Swing, JavaFX & SWT 8
kodela Swing Letzte Änderung in der Tabelle wird nicht gespeichert AWT, Swing, JavaFX & SWT 5
L JSplitPane - auf Änderung reagieren AWT, Swing, JavaFX & SWT 4
S Swing Bild auf jPanel nach Änderung von JComboBox zeichnen AWT, Swing, JavaFX & SWT 4
G JScrollPane reagiert nicht auf Änderung der JPanel-Größe AWT, Swing, JavaFX & SWT 4
A Swing Suche Listener für beliebige Änderung an GUI Items/Controls AWT, Swing, JavaFX & SWT 8
TheWhiteShadow JList-Inhalt nach Änderung weg AWT, Swing, JavaFX & SWT 3
H Swing Auf Änderung bei JRadioButton reagieren. AWT, Swing, JavaFX & SWT 3
C Swing Änderung der Tastatur-Navigation in einer JTable AWT, Swing, JavaFX & SWT 4
G Components erscheinen erst bei Änderung des Frames AWT, Swing, JavaFX & SWT 3
N Swing Dynamisches Verhalten bei Änderung Fenstergröße AWT, Swing, JavaFX & SWT 6
P Bilder werden nach Änderung nicht angezeigt AWT, Swing, JavaFX & SWT 15
P Swing Event das ausgelöst wird, sobald Änderung der Größe Abgeschlossen ist AWT, Swing, JavaFX & SWT 4
D LayoutManager GridBagLayout, Änderung zur Laufzeit AWT, Swing, JavaFX & SWT 4
jueki Event bei Änderung der Spaltenbreite in einem JTable AWT, Swing, JavaFX & SWT 15
S Swing JTable nach einer Änderung einer Zelle komplett aktualisieren. AWT, Swing, JavaFX & SWT 10
Milady Swing Änderung von Daten mit sql AWT, Swing, JavaFX & SWT 2
E 2 Frames - eine Änderung AWT, Swing, JavaFX & SWT 4
T JTable erst nach Änderung der Spaltenbreite neu zeichnen AWT, Swing, JavaFX & SWT 10
Balbes Änderung des Wertes von JCheckBox in einer JTable AWT, Swing, JavaFX & SWT 4
I Swing Bild wird erst bei manueller Änderung der Fenstergrösse gezeichnet AWT, Swing, JavaFX & SWT 3
hdi Swing setPreferredSize zeigt keine Änderung AWT, Swing, JavaFX & SWT 2
F JFrame Änderung der Größe erkennen AWT, Swing, JavaFX & SWT 2
J Font Änderung nach Editorwechsel? AWT, Swing, JavaFX & SWT 3
M JTable alte Daten vor Änderung abfangen AWT, Swing, JavaFX & SWT 11
S Wichtige Frage zu JTextField-Reaktion auf Änderung des Inhal AWT, Swing, JavaFX & SWT 6
B Auf Fenster Pos.Änderung reagieren und 2. Fenster andocken AWT, Swing, JavaFX & SWT 10
J jTable, welcher listener für Änderung der Spaltenbreite AWT, Swing, JavaFX & SWT 2
P Änderung der Fenstergrösse abragen und reagieren. AWT, Swing, JavaFX & SWT 3
G Bei Änderung an einem Texfeld in SWT eine Aktion AWT, Swing, JavaFX & SWT 3
S JTree - bei Änderung in DB neu zeichnen AWT, Swing, JavaFX & SWT 5
G Dringend ! SWT-Table übernimmt Änderung nicht AWT, Swing, JavaFX & SWT 2
B JTable - Letzte Änderung wird nicht übernommen AWT, Swing, JavaFX & SWT 5
G Auf Fenstergrößen-Änderung reagieren AWT, Swing, JavaFX & SWT 10
J JTable Änderung erst beim Zeilenwechsel AWT, Swing, JavaFX & SWT 5
M JTree nach LaF-Änderung komisch AWT, Swing, JavaFX & SWT 4
M GUI-Repaint nach Änderung der Fenstergröße AWT, Swing, JavaFX & SWT 2
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
B Actionlistener mit Java Swing AWT, Swing, JavaFX & SWT 2
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
H Viele ActionListener (MouseListener) - Performance AWT, Swing, JavaFX & SWT 24
pkm MainFrame durch Actionlistener auffrischen, aber wie? AWT, Swing, JavaFX & SWT 2
L actionListener für Button AWT, Swing, JavaFX & SWT 97
R Actionlistener funktioniert nicht AWT, Swing, JavaFX & SWT 4
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
R ActionListener in Actionlistener AWT, Swing, JavaFX & SWT 6
S Swing Variable in Actionlistener aufrufen AWT, Swing, JavaFX & SWT 10
P Swing ActionListener überschreibt einen Wert aus der Hauptklasse nicht AWT, Swing, JavaFX & SWT 5
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
M AWT Kann meinen Fehler beim ActionListener nicht finden AWT, Swing, JavaFX & SWT 5
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 3
L Ein Actionlistener für ein Textfeld, anstatt viele Actionlistener für ein Textfeld AWT, Swing, JavaFX & SWT 7
coolian ActionListener funktonirt nicht richtig auf JMenuItem AWT, Swing, JavaFX & SWT 4
L ActionListener zu Button in Panel hinzufügen AWT, Swing, JavaFX & SWT 10
R Kann JLabel in ActionListener nicht aufrufen AWT, Swing, JavaFX & SWT 4
Blender3D einzelner ActionListener vs anonyme ActionListener AWT, Swing, JavaFX & SWT 10
xYurisha ActionListener Methoden Buttons zuweisen! AWT, Swing, JavaFX & SWT 16
J ActionListener bei Buttons AWT, Swing, JavaFX & SWT 14
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
it_is_all ActionListener umlenken/ updaten mit AddActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 3
it_is_all Event Handling ActionListener in anderer Klasse klappt nicht AWT, Swing, JavaFX & SWT 4
F "ActionListener" funktioniert nicht AWT, Swing, JavaFX & SWT 4
Z ActionListener Variable übergeben AWT, Swing, JavaFX & SWT 12
T JProgressbar während actionListener updaten AWT, Swing, JavaFX & SWT 1
S While Schleife im Actionlistener AWT, Swing, JavaFX & SWT 1
S ActionListener für alle Buttons AWT, Swing, JavaFX & SWT 26
R Swing ActionListener bei JButton AWT, Swing, JavaFX & SWT 9
T ActionListener nimmt JTextField nicht mehr an. AWT, Swing, JavaFX & SWT 2
P ActionListener Graphics Einbauen AWT, Swing, JavaFX & SWT 0
S actionlistener mit 2 fenster integrieren AWT, Swing, JavaFX & SWT 11
Liondary GUI - ActionListener AWT, Swing, JavaFX & SWT 7
J ActionListener erkennt Variable nicht AWT, Swing, JavaFX & SWT 6
E ActionListener führt falsche Funktion aus AWT, Swing, JavaFX & SWT 6
Sin137 ActionListener in MVC AWT, Swing, JavaFX & SWT 7
M ActionListener und mathematische Methoden AWT, Swing, JavaFX & SWT 13
A Oberfläche mit zwei Klassen und actionlistener verbinden AWT, Swing, JavaFX & SWT 7
Paul15 ActionListener Variablen AWT, Swing, JavaFX & SWT 13
Y ActionListener AWT, Swing, JavaFX & SWT 2
K Ereignisbehandlung, ActionListener, ActionEvent AWT, Swing, JavaFX & SWT 3
A Gui für Vokabeltrainer (ActionListener) AWT, Swing, JavaFX & SWT 14
C Im ActionListener Buttons disablen, einen Thread starten, dann Buttons enablen AWT, Swing, JavaFX & SWT 2
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
J Event Handling JOptionPane ActionListener setzen. AWT, Swing, JavaFX & SWT 3
S ActionListener Klasse aufrufen AWT, Swing, JavaFX & SWT 4
R Swing Problem: IOException bei ActionListener AWT, Swing, JavaFX & SWT 1
J ActionListener soll auf paint() Methode zugreifen AWT, Swing, JavaFX & SWT 1
A JButton wird bei ActionListener nicht "angenommen" AWT, Swing, JavaFX & SWT 7
T Einfaches Problem mit ActionListener AWT, Swing, JavaFX & SWT 2
K ActionListener mit KeyListener AWT, Swing, JavaFX & SWT 7
K GUI, Button, ActionListener - ein paar Einsteigerprobleme AWT, Swing, JavaFX & SWT 1
W Verschachtelter ActionListener AWT, Swing, JavaFX & SWT 0
N gewünschte ActionListener bei RadioButton mit isSelected geht nicht AWT, Swing, JavaFX & SWT 2
C Probleme mit Buttons und einem ActionListener AWT, Swing, JavaFX & SWT 2
K Swing JMenu und ActionListener AWT, Swing, JavaFX & SWT 4
A Swing ActionListener AWT, Swing, JavaFX & SWT 8
V ActionListener Abhängigkeitenproblem AWT, Swing, JavaFX & SWT 6
M ActionListener für mehrere Klassen AWT, Swing, JavaFX & SWT 4
J ActionListener für Buttons AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben