Variable setzten mit JButton

Hallo Community,
Ich bin gerade am Programmieren einer GUI mit mehreren Buttons. Ich habe bisher nur Programme erstellt mit einem Button. Gibt es da etwas zu bedenken, wenn es mehrere sind, hinsichtlich der Action? Wenn ich z.B. mit einem Button einen Wert, den ich in ein Textfeld eingetragen habe, in meinem Code als Variable setzten möchte, kann ich dann auch die actionperformed methode benutzten oder kann man die nur einmal benutzten werden bzw. gibt es eine eigene Methode zum einlesen von Variablen?
 

Robat

Top Contributor
Du kannst JButtons ein ActionCommand geben. Dieses kannst du im ActionListener abfragen und so unterscheiden welcher Button gedrückt wurde.
 
Danke schonmal für die Antwort aber ich kann mir gerade nichts darunter vorstellen, was du meinst.
Ich will eigentlich nur den Inhalt aus zwei Textfeldern in jeweils eine Variable in meinem Code schreiben, indem ich für jedes Textfeld auf einen Button klicke, namens "Apply". Am Ende soll aber noch ein Button sein, der etwas mit den Variablen macht. Kann ich für diese Art von Aufbau für jeden Button das Action Performed Event nutzen oder geht das nur für dem Hauptbutton? Oder stelle ich mir dieses Action Performed zu endgültig vor?
 

Robat

Top Contributor
Wenn ich dich richtig verstanden habe ist doch deine Frage, ob du bei verschiedenen Buttons den selben ActionListener benutzen kannst, oder?
Die Antwort dazu ist: ja.
Die Methode actionPerformed(ActionEvent e) ist nur eine allgemeine Methode die bei einem bestimmten Event (hier druck eines Buttons) ausgelöst wird.
Natürlich kannst du mehreren Buttons den selben ActionListener zuweisen. Dann brauchst du aber einen Weg um in dem ActionListener zwischen den verschiedenen Buttons zu
unterscheiden. Hier mal ein Beispiel:

Nehmen wir an du hast dieses Konstrukt:
Java:
public class Gui implements ActionListener {
     private JButton btnApply;
     private JButton btnDoSomething;

      public Gui() {
             btnApply = new JButton("Apply");
             btnDoSomething = new JButton("Do Something");
             // ...
             btnApply.addActionListener(this);
             btnDoSomething.addActionListener(this);
             //....
      }

     @Override
      public void actionPerformed(ActionEvent e) {

      }
}

Dann haben beide Buttons den selben ActionListener.
Jetzt kannst du jedem Button mittels JButton#setActionCommand(String s) ein eindeutiges Command mitgeben, und dieses in der actionPerformed(..) Methode zu unterscheiden.
Beispiel:
Java:
btnApply.setActionCommand("Apply");
btnDoSomething.setActionCommand("Do Something");
...

@Override
public void actionPerformed(ActionEvent e) {
     JButton btn = (JButton) e.getSource();

     switch(btn.getActionCommand()) {
            case "Apply":
                    // apply changes
                    break;
            case "Do Something":
                     // do something
                    break;
     }
}

Eine andere Möglichkeit wäre zu prüfen, welcher Button gedrückt wurde.
Beispiel:
Java:
@Override
public void actionPerformed(ActionEvent e) {
     if(e.getSource() == btnApply) {
            // apply changes 
     } else if(e.getSource() == btnDoSomething) {
            // do something
     }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O No X11 DISPLAY Variable was set AWT, Swing, JavaFX & SWT 6
jojoge wie kann ich in eine Benennung eines JButtons eine Variable einbauen? AWT, Swing, JavaFX & SWT 6
S Swing jx cannot be resolved to a variable (2.) AWT, Swing, JavaFX & SWT 1
S Swing jx cannot be resolved to a variable AWT, Swing, JavaFX & SWT 6
S Swing Variable in Actionlistener aufrufen AWT, Swing, JavaFX & SWT 10
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
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
J jButton soll nach klicken eine Variable um 1 erhöhen AWT, Swing, JavaFX & SWT 2
G Swing Variable Elemente für GroupLayout AWT, Swing, JavaFX & SWT 18
P Variable einer Eingabe in anderes Textfeld schreiben AWT, Swing, JavaFX & SWT 7
Z ActionListener Variable übergeben AWT, Swing, JavaFX & SWT 12
K Wie kann ich eine Variable zwischen Tab Klassen weitergeben ? AWT, Swing, JavaFX & SWT 7
U Eingabe von TextField in variable speichern AWT, Swing, JavaFX & SWT 2
B SWT Globale Variable AWT, Swing, JavaFX & SWT 10
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
J ActionListener erkennt Variable nicht AWT, Swing, JavaFX & SWT 6
D JavaFX Gesetzte Variable in einem Controller im Controller laden AWT, Swing, JavaFX & SWT 1
Z Wird die Variable nicht übergeben ? AWT, Swing, JavaFX & SWT 16
L Swing Variable Anzahl an JButtons AWT, Swing, JavaFX & SWT 7
L ActionPerformed Variable übergeben AWT, Swing, JavaFX & SWT 3
J Bilder als Variable an einem Objekt speichern AWT, Swing, JavaFX & SWT 3
J JavaFX Variable an neue Scene übergeben AWT, Swing, JavaFX & SWT 8
V Warum wird meine Variable nicht erkannt? AWT, Swing, JavaFX & SWT 2
M Swing Alter Wert von einer Variable wird verwendet AWT, Swing, JavaFX & SWT 8
F Swing TextField Eingabe in Variable umwandeln um zum Beispiel zu rechnen. AWT, Swing, JavaFX & SWT 3
Kandum obj_JMenu.addMenuListener - variable Anzahl an JMenus / menulistenern & frame.setTitle() dynamisch AWT, Swing, JavaFX & SWT 7
J Swing String soll als Variable dienen AWT, Swing, JavaFX & SWT 11
B Variable ist leer / Scope von Variablen AWT, Swing, JavaFX & SWT 2
J Button En-/Disablen - Warum variable final? AWT, Swing, JavaFX & SWT 2
M private Variable übergeben AWT, Swing, JavaFX & SWT 12
U AWT local variable * is accessed from within inner class; needs to be declared final AWT, Swing, JavaFX & SWT 6
R Swing Variable Panelbreite ohne Layoutmanager AWT, Swing, JavaFX & SWT 6
T Image skaliert in Variable speichern AWT, Swing, JavaFX & SWT 6
H Swing variable in Numberfield ausgeben AWT, Swing, JavaFX & SWT 5
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
C Swing JTextPane zeigt HTML-Text aus Variable nicht an :( AWT, Swing, JavaFX & SWT 3
B Anprechen von TextAreas mit Variable AWT, Swing, JavaFX & SWT 2
N Listener für Variable AWT, Swing, JavaFX & SWT 4
B Button benennen via Variable? AWT, Swing, JavaFX & SWT 6
B Variable wird nicht gefunden AWT, Swing, JavaFX & SWT 5
C Button/Textfeld mit Variable verknüpfen AWT, Swing, JavaFX & SWT 4
B Swing Variable in JTextfield geht nicht AWT, Swing, JavaFX & SWT 10
B problem mit variable (final) AWT, Swing, JavaFX & SWT 7
P Zeichen abhängig davon, ob sich eine Variable geändert hat AWT, Swing, JavaFX & SWT 2
T statische Variable zum Referenzieren einer Instanz von Frame AWT, Swing, JavaFX & SWT 3
J Integer aus Textdatei auslesen und in Variable speichern AWT, Swing, JavaFX & SWT 11
T Variable Menge an Bildern außerhalb paint() zeichnen? AWT, Swing, JavaFX & SWT 2
J -variable Formular Klasse AWT, Swing, JavaFX & SWT 2
E Variable übergeben AWT, Swing, JavaFX & SWT 4
B Cannot refer to a non-final variable (JButton) AWT, Swing, JavaFX & SWT 3
kb frame als globale variable AWT, Swing, JavaFX & SWT 2
G JTable - Zeilenhöhe variable? AWT, Swing, JavaFX & SWT 2
D Auf Variable zugreifen AWT, Swing, JavaFX & SWT 3
G variable übergeben in andere klasse AWT, Swing, JavaFX & SWT 4
S Bild in einer Variable speichern AWT, Swing, JavaFX & SWT 7
S Eingabe des Textfeldes in Variable speichern AWT, Swing, JavaFX & SWT 7
R JFrame -- Variable Positionierung durch Window Manager? AWT, Swing, JavaFX & SWT 2
M variable Jtable AWT, Swing, JavaFX & SWT 4
P GetSelectetItem() erkennt Variable aus Liste nicht. AWT, Swing, JavaFX & SWT 2
K Polygon in image variable? AWT, Swing, JavaFX & SWT 2
T Variable Zeilenhöhe in jTable AWT, Swing, JavaFX & SWT 5
P JTable variable Zeilengröße AWT, Swing, JavaFX & SWT 3
O Display Env. Variable unter (X11) von ClientApp. abfragen AWT, Swing, JavaFX & SWT 2
E Wie kann ich ein JLabel auf größe der schriftlänge setzten? AWT, Swing, JavaFX & SWT 2
B JInternalFrame Focus setzten geht nicht AWT, Swing, JavaFX & SWT 2
S Swing jFrame auf maximale Größe setzten AWT, Swing, JavaFX & SWT 7
A Vordergrund und Fokus setzten oder Modales Einabefeld AWT, Swing, JavaFX & SWT 28
M SWT Fenster nebeneinander setzten AWT, Swing, JavaFX & SWT 4
M Checkboxen Namen setzten über Parameter => Abfragen? AWT, Swing, JavaFX & SWT 2
J JScrollBar lässt sich nicht auf minimum setzten AWT, Swing, JavaFX & SWT 7
P 2 Probleme mit Panel: index setzten und transparenz AWT, Swing, JavaFX & SWT 4
T 2 JScrollPanes auf den selben Status setzten AWT, Swing, JavaFX & SWT 8
P [TextField] cursor setzten AWT, Swing, JavaFX & SWT 2
G JButton mit importFiles-Funktion auf JDrawPane AWT, Swing, JavaFX & SWT 5
B JButton Search AWT, Swing, JavaFX & SWT 8
B Swing JButton mit KeyListener AWT, Swing, JavaFX & SWT 3
L JButton durch Mausklick auslösen und Enter-Taste AWT, Swing, JavaFX & SWT 2
N Erlennen ob JButton gedrückt ist AWT, Swing, JavaFX & SWT 6
D JButton Form verändern AWT, Swing, JavaFX & SWT 4
R Grafik per JButton laden und austauschen lassen AWT, Swing, JavaFX & SWT 14
SvenPittelkow Programm soll auf JButton warten bis der geklickt wurde AWT, Swing, JavaFX & SWT 1
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
Z Swing Drag and Drop mit einem JButton AWT, Swing, JavaFX & SWT 1
Z Swing Kann man auf JButton zeichenen AWT, Swing, JavaFX & SWT 3
J JButton Icon hinzufügen AWT, Swing, JavaFX & SWT 5
U Swing JButton mit Icon AWT, Swing, JavaFX & SWT 7
ms_cikar Jbutton erzeugt neue Buttons AWT, Swing, JavaFX & SWT 2
Drachenbauer Swing Wie ändere ich die Farbe der Konturen von jButton und jCombobox? AWT, Swing, JavaFX & SWT 18
Drachenbauer Swing Wie ändere ich die helle geklickt-Farbe von einem JButton? AWT, Swing, JavaFX & SWT 4
A Swing JButton mit Pfeiltasten bewegen AWT, Swing, JavaFX & SWT 6
F Swing Scrollbare Liste von JButton AWT, Swing, JavaFX & SWT 4
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
J JButton zum ändern Der Schriftart/Schriftgröße AWT, Swing, JavaFX & SWT 2
A Swing JButton aussehen AWT, Swing, JavaFX & SWT 12
Legi Swing JButton Icon verschiebt sich AWT, Swing, JavaFX & SWT 2
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
S Swing JButton verschwindet nach Compilieren AWT, Swing, JavaFX & SWT 8
B Swing Posistion von JButton auslesen gibt immer 0 aus AWT, Swing, JavaFX & SWT 1
J Thread kennt JButton nicht. AWT, Swing, JavaFX & SWT 11
G Swing JButton ändert (unerwünscht) Größe bei Ausführung AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben