jButton und Actionlistener?

Status
Nicht offen für weitere Antworten.

Andreas1989

Aktives Mitglied
Hallo zusammen,
ich habe in meinem Frame mehrere Button, die alle gleich aussehen. Da sich nur ein paar Dinge unterscheiden, z.B. wie die Position hab ich mir eine Methode geschrieben um Buttons zu erstellen.
Button Methode
Code:
public void setButton(JMyButton tempButton, int panel, int x, int a, String tempString, ImageIcon tempIcon)
  {
    x=2*abstandButton+((x-1)*a)+((x-1)*abstandButton); // Berechnung x
    tempButton.setBounds(x, abstandButton, a, a);
    tempButton.setText(tempString);
    tempButton.setFocusPainted(false);
    tempButton.setBackground(cDefault);
    tempButton.setContentAreaFilled(false);
    tempButton.setBorder(buttonBorder);
    tempButton.setIcon(tempIcon);
    tempButton.setForeground(Color.WHITE);
    tempButton.setHorizontalTextPosition(SwingConstants.CENTER);
    tempButton.setVerticalTextPosition(SwingConstants.BOTTOM);   
    switch (panel) {
      case  1:                      // Panel  Select
        jPSelect.add(tempButton);
        break;
      case  2:                      // Panel Edit
        jPEdit.add(tempButton);
        break;
      case  3:                      // Panel Info
        jPInfo.add(tempButton);
        break;
      default:                      // Panel Main
        jPMain.add(tempButton);
    }

  }
So erstelle ich mir einen neuen Button
Code:
setButton(jBRefresh, 1, 1, aButton, "Refresh", iRefresh);
Soweit funktioniert dass alles super. Wie weise ich jetzt jedem Button einen eigenen Action Listener?? Was geht, aber sicherlich nicht schön ist, nach jedem aufruf der setButton Methode dem eben angelegtem Button einen Listener hinzufügen
Code:
setButton(jBRefresh, 1, 1, aButton, "Refresh", iRefresh);
jBRefresh.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jBRefresh_ActionPerformed(evt);
      }
    });
Gibt es da noch einen besseren schöneren weg?

Gruß Andreas
 

Marco13

Top Contributor
EDIT: Sorry, unfug:

Die Methode sollte ggf. "createButton" heißen, und den erstellten Button zurückliefern.
JButton b = createButton(....);
b.addActionListener(...);

EDIT: ... der Button wird da ja garnicht erstellt. Dann ist die Möglichkeit, die du beschrieben hast, doch OK!?
 
G

Gast2

Gast
die ganze methode ist unschön...

mach dir lieber ne Methode eigene Klasse zum gleiche Buttons zu erstellen und geb eine Referenz darauf zurück
so in der art pseudo code
[HIGHLIGHT="Java"]

public static JButton createButton(String text, ImageIcon, ActionListener a usw.)
{
JButton button = new JButton();
button .setText(tempString);
button .setFocusPainted(false);
button .addActionListener(a);
// usw.

return button;
}

public static JButton createButton(String text, ImageIconusw.)
{
JButton button = new JButton();
button .setText(tempString);
button .setFocusPainted(false);
// usw.

return button;
}

[/HIGHLIGHT]

Und dann erzeuge deine Buttons in den entsprechnden Panels und adde Sie und benutze ein LayoutManager, ist bestimmt besser als deine Berechnungen!!!
Kannst ja mehere Methode anbieten einmal mit ActionListener einmal ohne usw.
 
Zuletzt bearbeitet von einem Moderator:

Andreas1989

Aktives Mitglied
Hallo,
vielen Dank!
Auch ne gute Idee einen Layout Manager zu verwenden. Bis jetzt habe ich noch nichts mit dem layout Manager gemacht - hab aber schon nen paar Samples gefunden. Deswegen hab ich mir bis jetzt auch noch den x bzw. den y Punkt berechnen müssen, ich wollte es ja "ein wenig" dynamisch ;).
 
G

Gast2

Gast
Hallo,
vielen Dank!
Auch ne gute Idee einen Layout Manager zu verwenden. Bis jetzt habe ich noch nichts mit dem layout Manager gemacht - hab aber schon nen paar Samples gefunden. Deswegen hab ich mir bis jetzt auch noch den x bzw. den y Punkt berechnen müssen, ich wollte es ja "ein wenig" dynamisch ;).

dynamisch??????
dafür ist der Manager ja da ;)
 

Andreas1989

Aktives Mitglied
Hallo,
mit dynamisch meine ich, dass ich anhand von Klassen Variablen die Größe(Höhe und Breite) den Abstand nach oben links oder zum nächsten Button festlegen kann. Ich muss also nur die Variablen am anfang ändern und meine Buttons ändern die Position. Ist schon mal besser wie einmal ein Layout zeichnen und wirklich bei jedem Button exakte x, y, width und height Punkte anzu geben.
Ich denke auch, dass das ganze mit einem Layout Manager viel besser geht. Aber wie gesagt hab noch nicht so viel Erfahrung mit Swing. Kannte bis heute die Funktion von nem Layout Manager noch nicht. Werd ich mir jetzt aber sicher auch noch ansehen.

Gruß
Andreas
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
R Swing ActionListener bei JButton AWT, Swing, JavaFX & SWT 9
A JButton wird bei ActionListener nicht "angenommen" AWT, Swing, JavaFX & SWT 7
I Swing Problem mit InputMap bei JButton (ActionListener) AWT, Swing, JavaFX & SWT 3
S Swing JButton mit ActionListener innerhalb einer JTable AWT, Swing, JavaFX & SWT 4
F ActionListener von JButton funktioniert mit JFrame aber nicht mit JDialog AWT, Swing, JavaFX & SWT 2
W actionListener für JButton "Step" AWT, Swing, JavaFX & SWT 5
R Swing ActionListener für JButton bei Drücken AWT, Swing, JavaFX & SWT 3
ABstraCT ActionListener zufügen bei "extends JButton" AWT, Swing, JavaFX & SWT 7
Z TextField aus ActionListener von JButton verändern AWT, Swing, JavaFX & SWT 10
C JButton Array - ActionListener AWT, Swing, JavaFX & SWT 10
B JButton array und ActionListener AWT, Swing, JavaFX & SWT 2
B ActionListener, Thread, JButton Problem AWT, Swing, JavaFX & SWT 2
G 1.) ActionListener: JButton und 2.) JTable AWT, Swing, JavaFX & SWT 7
M JButton & ActionListener AWT, Swing, JavaFX & SWT 6
M ActionListener für JButton AWT, Swing, JavaFX & SWT 2
L Problem mit ActionListener, ChildFrame und JButton AWT, Swing, JavaFX & SWT 3
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
J jButton soll nach klicken eine Variable um 1 erhöhen AWT, Swing, JavaFX & SWT 2
Legi Swing JButton Icon verschiebt sich 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
MR._FIRE_Flower Variable setzten mit JButton AWT, Swing, JavaFX & SWT 5
S Mit JButton neues Fester öffnen und das alte schließen AWT, Swing, JavaFX & SWT 3
T JButton wird beim vergrößern des Fensters erst sichtbar AWT, Swing, JavaFX & SWT 4
R Swing Verändern der Ausrichtung JButton und neu anzeigen AWT, Swing, JavaFX & SWT 2
G Swing JButton - Keine Klickanimation AWT, Swing, JavaFX & SWT 4
Joker4632 JButton nicht sichtbar, aber funktionsfähig AWT, Swing, JavaFX & SWT 8
B Swing JButton deaktivieren, wenn nicht alle JTextFields ausgefüllt sind. AWT, Swing, JavaFX & SWT 2
D JButton per Tastenkombi auswählen AWT, Swing, JavaFX & SWT 2
K JButton nicht sichtbar machen für User 2 AWT, Swing, JavaFX & SWT 4
L Swing JButton soll link öffnen AWT, Swing, JavaFX & SWT 1
K JButton auf anderer Klasse AWT, Swing, JavaFX & SWT 6
A JButton soll durch anklicken die Farbe wechseln AWT, Swing, JavaFX & SWT 8
T KeyListener funktioniert nicht wenn ich ein JButton hinzufüge AWT, Swing, JavaFX & SWT 1
B JButton -> Rahmen wegbekommen AWT, Swing, JavaFX & SWT 7
N JButton über benutzerdefinierte paintComponent setzen AWT, Swing, JavaFX & SWT 3
T JButton überlagern sich und werden erst beim Mausscrollen sichtbar AWT, Swing, JavaFX & SWT 2
B JButton erscheint in JFrame, obwohl er diesem nicht zugeordnet wurde! AWT, Swing, JavaFX & SWT 1
M JButton Probleme AWT, Swing, JavaFX & SWT 14
T Klasse über JButton schließen AWT, Swing, JavaFX & SWT 4
M Textfarbe JButton verändern AWT, Swing, JavaFX & SWT 2
N JButton ausblenden AWT, Swing, JavaFX & SWT 2
M Swing jButton Text verschwindet AWT, Swing, JavaFX & SWT 2
C Swing JButton wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
stylegangsta JLabel durch Klick auf JButton einblenden AWT, Swing, JavaFX & SWT 16
stylegangsta Eigene Klasse für JButton aus dem JFrame abrufen AWT, Swing, JavaFX & SWT 29
stylegangsta MouseEvents aus JButton aufrufen AWT, Swing, JavaFX & SWT 3
stylegangsta JButton Transparent anzeigen AWT, Swing, JavaFX & SWT 9
stylegangsta JButton Fehelr javax.swing.ImageIcon.<init>(Unknown Source) AWT, Swing, JavaFX & SWT 24
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
D JButton - Nur Icon anzeigen / transparenter Hintergrund AWT, Swing, JavaFX & SWT 2
S JButton-Label vergrößern AWT, Swing, JavaFX & SWT 2
J Swing Basics - JButton funktioniert nicht. AWT, Swing, JavaFX & SWT 1
L JButton mit ImageIcon/Fehlermeldung AWT, Swing, JavaFX & SWT 1
D jButton Problem, ein Rieser Button bedeckt das ganze frame AWT, Swing, JavaFX & SWT 1
L Array mit JButton, wie rausfinden auf welche JButton geklickt wurde + index des JButtons ausgeben AWT, Swing, JavaFX & SWT 4
K (GUI) JButton Farbe bei druck ändern AWT, Swing, JavaFX & SWT 3
L JButton mit Image AWT, Swing, JavaFX & SWT 5
fLooojava JButton [Focus) AWT, Swing, JavaFX & SWT 4
M JButton - Listener AWT, Swing, JavaFX & SWT 1
D jButton auf von jFrame erzeugtem jDialog AWT, Swing, JavaFX & SWT 16
L JButton flackern - Programm hängt sich auf AWT, Swing, JavaFX & SWT 3
L JButton - Größe anders als erwartet AWT, Swing, JavaFX & SWT 2
1 JButton nach Klick ausblenden AWT, Swing, JavaFX & SWT 6
X Swing 1 JButton bedeckt meine ganze Frame aber Warum? AWT, Swing, JavaFX & SWT 2
S Größe und Farbe vom JButton festlegen AWT, Swing, JavaFX & SWT 2
H Swing JList/JTable mit JButton, JTextField, Image, JComboBox und JLable AWT, Swing, JavaFX & SWT 2
J JButton neu zeichnen lassen AWT, Swing, JavaFX & SWT 9
S JButton u. Label auf paint-Methode AWT, Swing, JavaFX & SWT 1
HoloYoitsu Swing JButton in verschiedenen Winkeln drehen AWT, Swing, JavaFX & SWT 0
J vocab1 = new JButton(""+voc1.get(nr).toString()+""); AWT, Swing, JavaFX & SWT 16
BRoll JButton Text nicht ausblenden ("...") AWT, Swing, JavaFX & SWT 2
I JFrame mit JButton schließen? AWT, Swing, JavaFX & SWT 0
D JList&JButton erst nach Resize des JFRame sichtbar AWT, Swing, JavaFX & SWT 2
J Swing JFrame slideout, wenn JButton gedrückt wurde AWT, Swing, JavaFX & SWT 0
S Swing Rückmeldung für JButton AWT, Swing, JavaFX & SWT 4
R AWT JLabel oder JButton aktualisieren AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen


Oben