JButton identifizierem?

S

Sohndesvaters

Gast
Hallo,

Ich würde gerne ein menu mit untermenu erzeugen.
Jetzt habe ich mehrere buttons angelegt und jeder button
Soll ein anderes untermenu laden.

Kann ich in der mouseclicked() methode iwie einen button
Eindeutig identifizieren,damit ich die entsprechenden untermenus
Laden kann?

e.getSource().getName() liefert leider null und nicht den namen des buttons
(da es viele buttons sind bearbeite ich alle in einer schleife und adde den mouselistener
Der klasse)
 

xehpuk

Top Contributor
Hallo,

e.getSource().getName() liefert leider null und nicht den namen des buttons
Das bezweifle ich.

Java:
import javax.swing.JButton;

public class NamedButton {
	public static void main(final String[] args) {
		final JButton button = new JButton("text");
		button.setName("name");
		System.out.println(button.getActionCommand());
		System.out.println(button.getName());
	}
}
Code:
text
name
 

Super Gogeta

Mitglied
Ich würd´s über ActionListener und ActionCommand machen und in actionPerformed aufrufen.

Java:
if (e.getActionCommand.equals("...") {
//Untermenü öffnen
}
 
S

Sohndesvaters

Gast
Hallo,


Das bezweifle ich.

Java:
import javax.swing.JButton;

public class NamedButton {
	public static void main(final String[] args) {
		final JButton button = new JButton("text");
		button.setName("name");
		System.out.println(button.getActionCommand());
		System.out.println(button.getName());
	}
}
Code:
text
name

So einfach wie bei dir ist es nicht.
Ich habe 16 buttons in einem array dieses array
Durchlaufe ich und setze zum bsp. Background usw.
Sie bekommen alle den gleichen mouselistener (this)
Wenn ich dann in der mouseclicked ein switch einbauen
Will um die buttons per namen von einander zu unterscheiden,
Geht das nicht weil die namen der buttons null sind.
(kann kein code schicken aber der fall ist ja nicht schwer vorzustellen ;))
 
S

Sohndesvaters

Gast
Sorry in der mouseclicked wird natürlich damit gearbeitet:

Java:
JButton button = (JButton)e.getSource();
System.out.println(button.getName());

null


Um es zu verdeutlichen ;)
 

Super Gogeta

Mitglied
So einfach wie bei dir ist es nicht.
Ich habe 16 buttons in einem array dieses array
Durchlaufe ich und setze zum bsp. Background usw.
Sie bekommen alle den gleichen mouselistener (this)
Wenn ich dann in der mouseclicked ein switch einbauen
Will um die buttons per namen von einander zu unterscheiden,
Geht das nicht weil die namen der buttons null sind.

Sofern ich dich richtig verstehe (und ich es mir richtig vorstelle), kannst du in dem Fall doch ein Array nutzen, was einfach Zahlen von 1 an enthält, die dann entsprechend durchgehend an die Buttons verteilt werden, damit z.B. der erste Button als Name "1" hat, der zweite "2" usw.
 
S

Sohndesvaters

Gast
Also.

Ich wollte dann in der mouseclicked folgendes machen
(freihand auf dem ipad geschrieben, verzeit mir also fehler ;)):

Java:
public void mouseClicked(MouseEvent e) {
    JButton button = (JButton)e.getSource();
    button.setBackground(Color.black);
    button.setForeground(Color.white);
    
    switch(button.getName()) {.   // funzt nicht weil null
        case "name" : panel = untermenu; // untermenu ist andere klasse mit buttons 
        case........
        ......
    }
}

Das panel ist ein JPanel in dem das jeweilige untermenu
Je nachdem welcher button geklickt wurde gespeichert werden
Soll. Das kann ich aber aufgrund von null nicht und deshalb frage ich
Wie ich die button identifizieren und abgleichen kann.

Es gibt natürlich 16 untermenus und so will ich eben das passende laden.
 
S

Sohndesvaters

Gast
Ich möchte nur wissen welchen button ich geklickt habe...
Mehr nicht...den button identifizieren...
Ist das so schwer in swing? ;)
 

xehpuk

Top Contributor
Ich habe doch schon das Nötige dazu geschrieben? Wenn du keinen Namen setzt, gibts natürlich keinen. Und wenn du keinen setzen willst, nimmst du eben den actionCommand.
 
V

vanny

Gast
Es macht einfach keinen Sinn, dort mit dem MouseListener zu arbeiten!
Verpass den Buttons nen ActionListener und dann bekommst du auch den Namen des Buttons.
Solange du auf deinen ollen MouseListener beharrst, wirst du hier nicht glücklich.:autsch:
 

IndianerJones

Neues Mitglied
Hallo,

ich bin grad dabei etwas ähnliches zu machen, hab die Buttons allerdings in einer Hashmap gespeichert. Sollte aber vom Prinzip her das Gleiche sein.
Wie Vanny es vorgeschlagen hat, arbeite ich mit einem ActionListener, solange du nur Klicks auf die Buttons abfangen will ist das die deutlich komfortablere Variante.

Ein Hinweis wollt ich noch geben, mit nem Switch kommst du bei Strings nicht weit. Der geht nur bei einfachen Datentypen und Strings sind nunmal keine. Also läuft es auf einige If- Abfragen hinaus...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
G 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
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
R Swing ActionListener bei JButton AWT, Swing, JavaFX & SWT 9
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
A JButton wird bei ActionListener nicht "angenommen" AWT, Swing, JavaFX & SWT 7
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
L JButton im Frame fest verankern AWT, Swing, JavaFX & SWT 0
M Swing Mix JComboBox - JButton? AWT, Swing, JavaFX & SWT 6
U Event Handling JButton Actionevent: starte Spiel AWT, Swing, JavaFX & SWT 4
E JButton füllt ganzes JPanel auf AWT, Swing, JavaFX & SWT 6
P Verbuggte custom JButton unter Windows AWT, Swing, JavaFX & SWT 9
W Swing JButton lässt sich nicht anzeigen AWT, Swing, JavaFX & SWT 8
Kandum Swing JButton - onclick -> Grafikfehler AWT, Swing, JavaFX & SWT 2
R JButton durch Enter auslösen AWT, Swing, JavaFX & SWT 7
T Swing JButton per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 5
M Problem mit FlowLayout, JLabel und JButton AWT, Swing, JavaFX & SWT 4
M JButton wird von JTree überdeckt AWT, Swing, JavaFX & SWT 4
D Swing JButton.setenabled(true) funktioniert nicht AWT, Swing, JavaFX & SWT 12
B JButton ausblenden AWT, Swing, JavaFX & SWT 12
G JButton deaktivieren greift nicht AWT, Swing, JavaFX & SWT 14

Ähnliche Java Themen

Neue Themen


Oben