Erste Schritte JButton reagiert nur einmal.

neuerName

Mitglied
Hallo zusammen,

ich bin ein extremer Frischling bei euch und würde mich über Unterstützung freuen.
Habe die Anweisungen gelesen, jedoch keine Antwort gefunden die mir die zündende Idee gibt mein Problem zu beheben.

Mein Topic:
Bin gerade dabei einen kleinen Text Generator zu schreiben, soweit so gut. Es sind Checkboxen enthalten die bei Aktivierung den hinterlegten Text in ein Textfeld generieren sollen, funktioniert soweit auch alles prima, jedoch kann ich mein "Generate" Button nur einmal betätigen. Der Gedanke ist, falls sich die Umstände ändern den Text anzupassen ( von Grund auf neue generieren lassen zu können ).

Anbei der Code meiner Aktion bei betätigen des Buttons:

Java:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        jTextArea1.setText("");
        generated_text="";
        if(internet_betroffen = true)
            generated_text = generated_text + "Internet down\n";
        jTextArea1.setText(generated_text);
    }


Falls weitere Infos nötig sind ergänze ich das entsprechend, wollte es aber nicht unnötig unübersichtlich machen.

besten Dank vorab und Grüsse vom Bodensee,

Matze
 

knilch

Bekanntes Mitglied
Hi,
poste doch bitte auch, wie du den ActionListener für den Button registrierst.
Ein Beispiel wie dies aussehen könnte:
Java:
button.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent arg0) {
		System.out.println("Button wurde gedrückt...");
	}
});
 
Zuletzt bearbeitet:

neuerName

Mitglied
Hey knilch,

korrigiere mich wenn ich falsch liege, aber das müsste der Teil sein:

Java:
jButton1.setText("Generate");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);

Danke schonmal!
 

Harry Kane

Top Contributor
Code:
if(internet_betroffen = true)
ist kein Vergleich (den man auch einfach als
Code:
if(internet_betroffen)
hätte formulieren können, sondern eine Zuweisung. Danach ist internet_betroffen true.
Übrigens finde ich deine Problembeschreibung "ich kann den Button nur einmal betätigen" irreführend. Streikt beim 2. Versuch etwa die Maus? ;)
Meinstest du vielleicht "der ActionListener wird nur beim erstmaligen Betätigen des buttons aufgerufen"?
 

neuerName

Mitglied
Code:
if(internet_betroffen = true)
ist kein Vergleich (den man auch einfach als
Code:
if(internet_betroffen)
hätte formulieren können, sondern eine Zuweisung. Danach ist internet_betroffen true.
Übrigens finde ich deine Problembeschreibung "ich kann den Button nur einmal betätigen" irreführend. Streikt beim 2. Versuch etwa die Maus? ;)
Meinstest du vielleicht "der ActionListener wird nur beim erstmaligen Betätigen des buttons aufgerufen"?

Hey Harry Kane,

vielen Dank für die Info, werd ich gleich mal prüfen.

Nein, die Maus streikt glücklicherweise nicht, aber in der genauen Beschreibung des Fehlers fehlt mir vermutlich noch etwas Übung, jedoch hast du den Nagel auf den Kopf getroffen, der AL wird ( so denke ich nach deiner Formulierung ) nur beim ersten Betätigen aufgerufen :)
 

neuerName

Mitglied
Sodele, nach dem freundlichen Hinweis ( Danke hierfür ), Anpassung vorgenommen:

Java:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        jTextArea1.setText("");
        generated_text="";
        if(internet_betroffen)
            generated_text = generated_text + "Internet down";
        jTextArea1.setText(generated_text);
    }


Dennoch wird mein AL nicht erneut aufgerufen bei erneutem drücken des Buttons. :(
 

knilch

Bekanntes Mitglied
Hi,
Dennoch wird mein AL nicht erneut aufgerufen bei erneutem drücken des Buttons.
Bekommst du den eine Ausgabe auf der Konsole, wenn du den Button betätigst?
Java:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
   jTextArea1.setText("");
   System.out.println("Button wurde gedrückt...");
   generated_text="";
   if(internet_betroffen)
      generated_text = generated_text + "Internet down";
   jTextArea1.setText(generated_text);
}
 
Zuletzt bearbeitet:

neuerName

Mitglied
Hi,

Bekommst du den eine Ausgabe auf der Konsole, wenn du den Button betätigst?
Java:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
   jTextArea1.setText("");
   System.out.println("Button wurde gedrückt...");
   generated_text="";
   if(internet_betroffen)
      generated_text = generated_text + "Internet down";
   jTextArea1.setText(generated_text);
}


Jawoll, bei jedem Klick kommt die Konsolenmeldung.

Mich wundert halt, dass er mir die TextArea nicht clean macht, das leite ich doch eigentlich mit:

Java:
jTextArea1.setText("");

in die Wege?
 

Harry Kane

Top Contributor
Du bist dir aber schon darüber im Klaren, daß sich beim Betätigen deines Buttons der Inhalt von jTextArea1 nur dann ändert, wenn sich seit dem letzten Betätigen des Buttons der Wert von internet_betroffen geändert hat?
 

neuerName

Mitglied
Okay, dann erweitere ich mal das Skript ein wenig um das deutlicher zu machen, bzw. euch den Fehler erkennbar zu machen. Wenn es aber zu aufwendig wird einfach sagen.

Java:
boolean internet_betroffen = false;

Hiermit setze ich meine Variable auf false ( Ausgangswert )

Java:
private void jCheckBox1StateChanged(javax.swing.event.ChangeEvent evt) {                                        
        internet_betroffen = true;
    }

Hier sollte ich die Statusveränderung wahrnehmen, sprich ob aktiviert oder nicht.

Und dann habe ich ja in meinem AL definiert, dass generated_text ja leer sein soll und nur was eingetragen wird falls internet_betroffen = true.

Java:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        jTextArea1.setText("");
        generated_text="";
        System.out.println("Button wurde gedrückt...");
        if(internet_betroffen)
            generated_text = generated_text + "Internet down";
        jTextArea1.setText(generated_text);
    }

Sprich sollte meinem bescheidenen Verständnis nach, druch drücken des Buttons die Abfrage erfolgen ob internet_betroffen = true und wenn ja, dann sollte generated_text um "Internet_down" ergänzt werden.

Evtl. hilft das ein wenig weiter.

Vielen vielen dank auf jeden schonmal für die Antworten.
BTW -> wo finde ich den Danke Button?
 
Zuletzt bearbeitet:

neuerName

Mitglied
Okay, dann erweitere ich mal das Skript ein wenig um das deutlicher zu machen, bzw. euch den Fehler erkennbar zu machen. Wenn es aber zu aufwendig wird einfach sagen.

Java:
boolean internet_betroffen = false;

Hiermit setze ich meine Variable auf false ( Ausgangswert )

Java:
private void jCheckBox1StateChanged(javax.swing.event.ChangeEvent evt) {                                        
        internet_betroffen = true;
    }

Hier sollte ich die Statusveränderung wahrnehmen, sprich ob aktiviert oder nicht.

Und dann habe ich ja in meinem AL definiert, dass generated_text ja leer sein soll und nur was eingetragen wird falls internet_betroffen = true.

Java:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        jTextArea1.setText("");
        generated_text="";
        System.out.println("Button wurde gedrückt...");
        if(internet_betroffen)
            generated_text = generated_text + "Internet down";
        jTextArea1.setText(generated_text);
    }

Sprich sollte meinem bescheidenen Verständnis nach, druch drücken des Buttons die Abfrage erfolgen ob internet_betroffen = true und wenn ja, dann sollte generated_text um "Internet_down" ergänzt werden.

Evtl. hilft das ein wenig weiter.

Vielen vielen dank auf jeden schonmal für die Antworten.
BTW -> wo finde ich den Danke Button?

Ich komm der Sache auf die Spur, mein Uncheck wird nicht erkannt, bzw. wird dann nicht false gesetzt...

ich suche weiter, bin über jede Hilfe dankbar.
 

knilch

Bekanntes Mitglied
Hi,
private void jCheckBox1StateChanged(javax.swing.event.ChangeEvent evt) {
internet_betroffen = true;
}
ich nehm mal an, dass dies eine Checkbox ist, das was du dort registert hast, ist nur wenn ein Change statt findet. Das sagt aber nur aus, dass ein bei der checkBoxk ein Wechsel von selected auf unselected oder von unselected auf selected stattgefunden hat. Wenn du möchtest, dass internet_betroffen == false; ist, wenn die Checkbox selektiert ist musst du das anders machen.

Du kannst das auch so machen:
Java:
	private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
		jtextArea.setText("");
		System.out.println("Button wurde gedrückt...");
		generated_text = "";
		if(!checkBox.isSelected())
			generated_text = "Internet down";
		jtextArea.setText(generated_text);
		
	}
 
Zuletzt bearbeitet:

neuerName

Mitglied
Sodele, besten Dank an alle Mitwirkenden,

/edit: Danke Button gefunden :)

sagt mir doch bitte noch wo der Danke Button ist, dann passiert das auch noch ;)

Und so funktioniert es:

Java:
private void jCheckBox1StateChanged(javax.swing.event.ChangeEvent evt) {                                        
        internet_betroffen = jCheckBox1.isSelected();
    }

Java:
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
        jTextArea1.setText("");
        System.out.println("Wer von internet_betroffen:" + internet_betroffen);
        if(!internet_betroffen) 
            generated_text="";
        else 
            generated_text = "Internet down";
        jTextArea1.setText(generated_text);
    }


Sicherlich noch nicht die eleganteste Lösung, aber es funktioniert, so wie sich das mein Hirn ausgemalt hat.

Grüssle Matze
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
L Erste Schritte JButton reagiert nicht Java Basics - Anfänger-Themen 5
S 2 ActionListener 1 JButton, welcher reagiert zuerst Java Basics - Anfänger-Themen 2
Hilde22 Neu Start JButton einfügen Java Basics - Anfänger-Themen 2
W GUI - JButton ohne Funktion? Java Basics - Anfänger-Themen 24
M JButton setBackground() färbt nicht den ganzen Knopf Java Basics - Anfänger-Themen 4
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
J Jbutton blinkt Java Basics - Anfänger-Themen 5
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
E JButton und JTextField Java Basics - Anfänger-Themen 1
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
J Erste Schritte if Abfrage von JButton in 2. Klasse Java Basics - Anfänger-Themen 27
J Erste Schritte Actionlistener für tbar/ JButton Java Basics - Anfänger-Themen 15
krgewb Icon von JButton ändern Java Basics - Anfänger-Themen 1
P JButton -Arrays Java Basics - Anfänger-Themen 4
A JButton in anderer Klasse bearbeiten. Java Basics - Anfänger-Themen 2
S Bild über JButton legen Java Basics - Anfänger-Themen 3
V Einem JButton anweisungen geben Java Basics - Anfänger-Themen 4
D Methoden JButton und JLabel in einer Methode erstellen Java Basics - Anfänger-Themen 5
F Interface JButton von anderer Klasse hinzufügen Java Basics - Anfänger-Themen 2
J JButton macht was er will Java Basics - Anfänger-Themen 3
D JButton soll Farbe von JTextfield ändern Java Basics - Anfänger-Themen 5
H JButton - Wechsel der Textfarbe alle 500ms Java Basics - Anfänger-Themen 10
G KeyListener und JButton vertragen sich nicht Java Basics - Anfänger-Themen 1
N JButton anpassen Java Basics - Anfänger-Themen 3
S JButton soll für bestimmte Zeit verschwinden Java Basics - Anfänger-Themen 5
schoenosrockos JButton füllt immer das ganze frame Java Basics - Anfänger-Themen 1
D JButton in JDialog mit Action belgen Java Basics - Anfänger-Themen 6
V JButton einer anderen Klasse übergeben? Java Basics - Anfänger-Themen 6
F JButton [] mit Werten hinterlegen Java Basics - Anfänger-Themen 10
M Code um per jButton ein neues Fenster zu öffnen Java Basics - Anfänger-Themen 3
A weiter JButton Fehler Java Basics - Anfänger-Themen 3
W JTable mit einem JButton-Array füllen Java Basics - Anfänger-Themen 4
S JCombobox und JButton verknüpfen Java Basics - Anfänger-Themen 6
V wie kann ich eine Schleife pausieren, bis ein Jbutton gedrückt wird ? Java Basics - Anfänger-Themen 17
S JButton Java Basics - Anfänger-Themen 2
A Farben wechseln mit JButton Java Basics - Anfänger-Themen 2
S Farbe eine Zeile in JTable ändern, wenn JButton geklickt wurd Java Basics - Anfänger-Themen 4
F Funktion eines JButton in einen Vektor verlagern Java Basics - Anfänger-Themen 4
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
A Labels Inner JButton Event Erstellbar? Java Basics - Anfänger-Themen 3
K JButton alles zurücksetzen Java Basics - Anfänger-Themen 1
U JButton: Beschriftung ueber Variable zuweisen Java Basics - Anfänger-Themen 6
S JButton erscheint erst bei Mouseover Java Basics - Anfänger-Themen 10
S JButton mit ActionListener Java Basics - Anfänger-Themen 5
S JDK installieren JButton BorderPoints?! Java Basics - Anfänger-Themen 7
E Problem mit erben von JButton Java Basics - Anfänger-Themen 7
J Bei Hinzufügen von JButton Programm langsam Java Basics - Anfänger-Themen 3
J Verknüpfung von JButton to JTextField Java Basics - Anfänger-Themen 4
S Jbutton per Passworteingabe aktivieren Java Basics - Anfänger-Themen 2
G über JButton Action einen anderen Button verändern Java Basics - Anfänger-Themen 7
H JButton - Icon(.png) aus resources laden Java Basics - Anfänger-Themen 23
M Hintergrundbild für JButton Java Basics - Anfänger-Themen 6
A jbutton - icon linksbündig, text zentriert Java Basics - Anfänger-Themen 10
M Input/Output JFrame mit JButton und JTextfield Java Basics - Anfänger-Themen 114
J Hilfe bei JButton Java Basics - Anfänger-Themen 6
A JButton[] und String[] in doppelter For-Schleife Java Basics - Anfänger-Themen 4
W JButton in gleiche Größe bringen Java Basics - Anfänger-Themen 4
pg1337 JButton zuschneiden Java Basics - Anfänger-Themen 3
T Modales JDialog schliessen mit JButton Java Basics - Anfänger-Themen 2
D JButton Array setBackground Java Basics - Anfänger-Themen 2
F JButton wie selektierter JTabbebPane-Header Java Basics - Anfänger-Themen 7
G jButton bei Klick String +1 Java Basics - Anfänger-Themen 5
C OOP Java JButton mit Funktion belegen Java Basics - Anfänger-Themen 3
S JButton wird nicht angezeigt Java Basics - Anfänger-Themen 14
C JButton.getIcon() != null Java Basics - Anfänger-Themen 3
E JButton-Text wird in Schleife nicht geändert Java Basics - Anfänger-Themen 4
F welches Layout für JButton-Liste verwenden Java Basics - Anfänger-Themen 6
T JButton Text ändern Java Basics - Anfänger-Themen 4
L JButton erscheint nur mit pack() Java Basics - Anfänger-Themen 3
U Passwort auf JButton setzen. Java Basics - Anfänger-Themen 2
E JButton Hintergrund / Rahmen entfernen? Java Basics - Anfänger-Themen 4
L Bild auf einem JButton Java Basics - Anfänger-Themen 4
K JButton.setText Problem Java Basics - Anfänger-Themen 6
M JButton und DisabledIcon Java Basics - Anfänger-Themen 2
K jButton zur Laufzeit hinzufügen Java Basics - Anfänger-Themen 22
A GUI - JButton problem! Java Basics - Anfänger-Themen 5
M JButton selbst nachprogrammieren Java Basics - Anfänger-Themen 3
A JButton Textrahmen Java Basics - Anfänger-Themen 7
A Platzierung eines JButton Java Basics - Anfänger-Themen 4
D JButton oder ImageIcon klickt "langsam" Java Basics - Anfänger-Themen 5
E JButton klassenübergreifend nutzen? Java Basics - Anfänger-Themen 6
R Liste graphischer Objekte z.B. JButton dynamisch erstellen Java Basics - Anfänger-Themen 13
J JList Inhalt nach JButton Klick aktualisieren Java Basics - Anfänger-Themen 8
S JButton trotz Box-Layout skalieren Java Basics - Anfänger-Themen 6
P JButton identifizieren Java Basics - Anfänger-Themen 8
K Funktion zu einem JButton hinzufügen Java Basics - Anfänger-Themen 27
D HTML Text von jButton disablen Java Basics - Anfänger-Themen 2
E Auf JButton in Arraylist zugreifen Java Basics - Anfänger-Themen 6
E Andere Form eines JButton Java Basics - Anfänger-Themen 17
A JButton ActionListener nach einmaligem Ausführen zurücksetzen Java Basics - Anfänger-Themen 13
B JButton Größe einstellen? Java Basics - Anfänger-Themen 3
E Zeilenumbruch in JButton mit Variable Java Basics - Anfänger-Themen 2
A JButton erscheint nicht (BlueJ) Java Basics - Anfänger-Themen 2
M JButton sieht komisch aus :-) Java Basics - Anfänger-Themen 5
B JPanel über JButton umändern Java Basics - Anfänger-Themen 9
D JButton transparent bekommen? Java Basics - Anfänger-Themen 5
H JButton Unsichtbar Java Basics - Anfänger-Themen 7
R JTextField mittels JButton in Konsole ausgeben Java Basics - Anfänger-Themen 2
J Variable die bei JButton Clicks mitzählt Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben