Variablenname übergeben?

Status
Nicht offen für weitere Antworten.

Bierhumpen

Bekanntes Mitglied
Also ich habe eine variable:

boolean boolGruppeA = true;

Kann ich den variablen namen irgendwie an eine methode übergeben, vielleicht in einem string?

denn wenn ich methode(boolGruppeA) übergebe, übergibt er mir ja nur den true/false wert....

wie mach ich das?
 

Bierhumpen

Bekanntes Mitglied
okay das ist ein wenig kompliziert.

ich habe einen haufen an buttons mit denen jeweils ein fenster geöffnet werden soll. Desweiteren soll immer geprüft werden ob und welches fenster aktiv ist.

damit zeilen spare und die übersicht behalte wollte ich dafür eine methode schreiben. nur bringst mir nichts wenn die fast so lang ist wie die anweisungen im actionPerformed....
 

Bierhumpen

Bekanntes Mitglied
ein kurzer ausschnitt bringt vielleicht klarheit:


Code:
    public void actionPerformed(ActionEvent e){
        if (e.getActionCommand().equals("gruppeA")){
            if (!boolGruppeA){
                gfGruppeA.setVis(true);
                boolGruppeA = true;
                isActive = gfGruppeA;
            }
            else {
                if (isActive!=gfGruppeA){
                    gfGruppeA.setVis(true);
                    isActive = gfGruppeA;
                }
                else{
                    gfGruppeA.setVis(false);
                    boolGruppeA = false;
                }
            }
        }
    .
    .
    .
    . // Und viele weitere Button mit den selben anweisungen, nur unterschiedlichen variablennamen ;)
    .
    .
    }

Es ist der versuche fenster übereinander liegend öffnen zu können.
Damit habe ich versucht ein im hintergrund (visible) liegendes Fenster nach vorne zu holen, bzw. wenn es vorne ist zu schliessen! funktioniert auch nicht 100%ig wie ich es gerne hätte aber naja.

auf jeden fall möchte ich das alles in eine methode packen um platz zu sparen und die übersicht zu behalten!

Jetzt klarer? (Die Erklärkunst hat mir Gott leider nicht gegeben!)
 

Leroy42

Top Contributor
Falscher, zu kompliziert gedachter, Ansatz.

Wenn für all deine Buttons gilt

Bierhumpen hat gesagt.:
Und viele weitere Button mit den selben anweisungen, nur unterschiedlichen variablennamen

dann nimmt man für sowas ein Feld(Array)

Code:
JLabel[] theButtons = new JLabel[BUTTON_ANZ];

for (int i=0; i < BUTTON_ANZ; i++) {
  theButtons[i] = new JLabel("Ich bin Button " + i);
  component.add(theButtons[i]);
  theButtons[i].addActionListener(...);
}
 

Mörketid

Aktives Mitglied
hi, oder auch ne arrayliste:

Code:
ArrayList<JButton> buttonList = new ArrayList<JButton>();
for (int i=0; i < buttonList.size(); i++) {
  buttonList [i] = new JButton("Ich bin Button " + i);
  component.add(buttonList.get(i));
  buttonList.get(i).addActionListener(...);
}

geht allerdings erst ab 1.5 :). allerdings wäre es vielleicht gut, hier die actions auszuklammern, da es ja doch recht viele werden können. :meld:

viele grüße
mörketid
 

Bierhumpen

Bekanntes Mitglied
hmmmm hmmmm hmmmmm ich versuchs mal!

aber eigentlich hat das ja nichts mit dem actionPerformed zu tun... die Buttons erstellen hab ich ja so, oder so ählich gemacht
 

Leroy42

Top Contributor
Code:
ArrayList<JButton> buttonList = new ArrayList<JButton>();
for (int i=0; i < buttonList.size(); i++) {
  buttonList [i] = new JButton("Ich bin Button " + i);
  ...
  buttonList.get(i).addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
       ... // ACHTUNG: Hier kein Zugriff auf lokale Variable i möglich!
       ...// Wenn benötigt, muß der Button durch e.getSource() ermittelt werden.
}

Mörketid hat gesagt.:
Allerdings wäre es vielleicht gut, hier die actions auszuklammern, da es ja doch recht viele werden können. :meld:

Lustig: In diesem Fall bekomme ich auch oft Bauchkribbeln obwohl es unnötig ist :cool:

Es sieht so aus, als ob tatsächlich mehrere ActionListener in einer Schleife
erzeugt und angemeldet werden. was aber nicht der Fall ist.

In Wahrheit wird nur ein ActionListener (eine anonyme innere Klasse) erzeugt, die
von allen JLabels benutzt wird. Dies ist auch der Grund, warum es nicht möglich ist,
in Methodenlokal definierten Klassen Bezug auf lokale Variablen der Methode
zu nehmen (In diesem Fall das i), denn genau das würde ja bedeuten, daß
sich die ActionListener irgendwie unterscheiden könnten.

Aber um den Bauch zu schonen, kann man ja schreiben:

Code:
ActionListener al = new ActionListener(...);
...
buttons[i].addActionListener(al);
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Variablen Dynamische Variablenname Java Basics - Anfänger-Themen 9
K Variablenname soll der Inhalt vom String sein Java Basics - Anfänger-Themen 2
F String -> Variablenname Java Basics - Anfänger-Themen 9
Devil0s Java variable in Variablenname Java Basics - Anfänger-Themen 21
H variablenname errechnen Java Basics - Anfänger-Themen 11
M Schleifenzähler an Variablenname anhängen Java Basics - Anfänger-Themen 6
D Variablenname aus Variable ? Java Basics - Anfänger-Themen 15
M Variablenname mithilfe einer schleife erstellen? Java Basics - Anfänger-Themen 2
G Variablenname dynamisch vergeben Java Basics - Anfänger-Themen 10
G variabler variablenname Java Basics - Anfänger-Themen 18
H Variablenname dynamisch festlegen Java Basics - Anfänger-Themen 3
H Variablenname dynamisch festlegen Java Basics - Anfänger-Themen 3
A Variablenname aus Array laden! Java Basics - Anfänger-Themen 11
H Variablenname in Schleife ändern Java Basics - Anfänger-Themen 2
G String soll als Variablenname dienen Java Basics - Anfänger-Themen 19
B Variablenname ermitteln Java Basics - Anfänger-Themen 19
A Variablenname aus Variablen zusammensetzen? Java Basics - Anfänger-Themen 2
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
E Variable von 1. Fenster an 2. Fenster übergeben. Java Basics - Anfänger-Themen 7
J Argumente in Methoden übergeben Java Basics - Anfänger-Themen 1
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
N Throw an Main Methode übergeben Java Basics - Anfänger-Themen 7
R Methoden Werte einer ArrayList als Parameter übergeben. Java Basics - Anfänger-Themen 4
S Bildgröße ermitteln & setSize() übergeben Java Basics - Anfänger-Themen 6
D Arrays an replaceAll-Methode übergeben Java Basics - Anfänger-Themen 12
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
C Int an andere Klasse übergeben Java Basics - Anfänger-Themen 26
L Beim Java Programmstart, mehrere Parameter über die Kommandozeile übergeben Java Basics - Anfänger-Themen 9
S Methoden Return Rückgabewert wird nicht übergeben Java Basics - Anfänger-Themen 8
sgtcoopa Array übergeben Schleife Java Basics - Anfänger-Themen 0
B Compiler-Fehler Array aus Objekten übergeben Java Basics - Anfänger-Themen 7
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
E Slider - Wert übergeben und überschreiben Java Basics - Anfänger-Themen 5
S JavaFX - Objekt an neue Stage übergeben Java Basics - Anfänger-Themen 12
G JTable, Zeile auswählen und Ergebnis an Schaltfläche übergeben Java Basics - Anfänger-Themen 4
J Array an Combobox übergeben Java Basics - Anfänger-Themen 5
L Attribute aus Klasse in berechnungs Methode übergeben Java Basics - Anfänger-Themen 1
jonny_2k12 Wie kann ich eine ArrayList aus einer Klasse in eine andere übergeben? Java Basics - Anfänger-Themen 21
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
L Methode implementieren, Parameter die übergeben werden sind final Java Basics - Anfänger-Themen 4
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
R Methode zwei Sortierkriterien der Klasse Comparator übergeben Java Basics - Anfänger-Themen 4
NeoLexx Variable für Array wird nicht korrekt übergeben Java Basics - Anfänger-Themen 45
L Objekt an Methode übergeben Java Basics - Anfänger-Themen 4
J Wert zwischen JFrames übergeben Java Basics - Anfänger-Themen 2
A Klassen Datei als Kommandozeilenparameter übergeben Java Basics - Anfänger-Themen 8
T Körper Brechnung - Lokale Variablen in Methoden übergeben Java Basics - Anfänger-Themen 10
L OOP Parameter mit der Draw-Methode übergeben Java Basics - Anfänger-Themen 11
G JTextField per Button speichern und an andere Klasse übergeben Java Basics - Anfänger-Themen 2
M JTable an andere Klasse übergeben Java Basics - Anfänger-Themen 2
B Objekt an neue Stage übergeben? Java Basics - Anfänger-Themen 9
J Input/Output Input als Parameter an Methoden übergeben Java Basics - Anfänger-Themen 23
der_Schokomuffin Hilfe gesucht beim Thema Objekte übergeben! Java Basics - Anfänger-Themen 2
B Datenbank, aktuelle Ende als Zahl an Label übergeben Java Basics - Anfänger-Themen 7
E Methode mit Parametern um Objekte zu übergeben Java Basics - Anfänger-Themen 4
E Variable (Vektor) in andere Methode übergeben Java Basics - Anfänger-Themen 4
H DataOutputStream übergeben Java Basics - Anfänger-Themen 16
B Gefülltes Array wird mit nullwerten übergeben Java Basics - Anfänger-Themen 9
R Variablen Variable an FXML-Controller übergeben Java Basics - Anfänger-Themen 4
E JSF - Radiowerte aus xhtml an Bean übergeben Java Basics - Anfänger-Themen 4
M Wie kann ich eine Eingabe im Java-Swing übergeben? Java Basics - Anfänger-Themen 1
M Methode mit Array als Parameter an Main übergeben Java Basics - Anfänger-Themen 1
S Werte in Klasse übergeben Java Basics - Anfänger-Themen 12
L Klassen Objekt aus einer Warteschlange in eine andere übergeben, geht nicht? Java Basics - Anfänger-Themen 6
D Compiler-Fehler Array an Methode übergeben und Wert zurückbekommen Java Basics - Anfänger-Themen 3
E Daten dem Super Aufruf übergeben Java Basics - Anfänger-Themen 3
F Mehrere Instanzen der Klasse A EINER Instanz der Klasse B übergeben Java Basics - Anfänger-Themen 3
M JLabels "verrutschen" beim übergeben von JPanel Java Basics - Anfänger-Themen 2
J Ein Objekt and eine Methode übergeben zwei Schreibweisen? Java Basics - Anfänger-Themen 6
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
P Input/Output Bestimmte Anzahl von Werten in einem Array an Methode übergeben Java Basics - Anfänger-Themen 2
Bluebird209 Array wird nicht an Methode übergeben Java Basics - Anfänger-Themen 7
T Parameter das übergeben wurde ändern? Java Basics - Anfänger-Themen 1
K Klassen Array zwischen Klassen übergeben Java Basics - Anfänger-Themen 2
D Name eines JMenue als Parameter übergeben Java Basics - Anfänger-Themen 20
P Interface Variablen-Inhalte werden nicht übergeben Java Basics - Anfänger-Themen 3
D Erste Schritte Array Werte an Methode übergeben Java Basics - Anfänger-Themen 6
M Methoden Int einer Methode an eine andere Methode übergeben Java Basics - Anfänger-Themen 4
V JButton einer anderen Klasse übergeben? Java Basics - Anfänger-Themen 6
A Die Werte zur Berechnung müssen als Parameter übergeben werden? Java Basics - Anfänger-Themen 7
E Integer und Array übergeben Java Basics - Anfänger-Themen 9
J Werte an eine andere Klasse übergeben Java Basics - Anfänger-Themen 4
J Datentypen Literal überschreitet long-Range, dennoch als long an Variable übergeben Java Basics - Anfänger-Themen 9
M Methoden Datei einlesen und als return übergeben. Java Basics - Anfänger-Themen 8
N Auf TextFeld aus anderer Klasse zugreifen ohne es zu übergeben Java Basics - Anfänger-Themen 3
Viktim Methoden Methode an Methode übergeben Java Basics - Anfänger-Themen 14
OlafHD Einen String an eine Klasse übergeben Java Basics - Anfänger-Themen 2
Silvascus Inhalt eines externen Textdokuments an einen String übergeben Java Basics - Anfänger-Themen 2
T Objekt in ein JLabel der GUI übergeben Java Basics - Anfänger-Themen 3
S JLabel an Methode übergeben Java Basics - Anfänger-Themen 2
Silvascus Array, der mit dem Namen, der per Methode übergeben wird, erstellt wird Java Basics - Anfänger-Themen 5
A Klassen Zahlen einlesen, an Klasse übergeben und Koordinaten ausgeben Java Basics - Anfänger-Themen 1
P Variablen einer Methode in andere Method übergeben Java Basics - Anfänger-Themen 6
D String aus Main in Klasse übergeben Java Basics - Anfänger-Themen 4
J Datentypen Array übergeben Java Basics - Anfänger-Themen 4
Z ArrayList einer anderen Klasse übergeben Java Basics - Anfänger-Themen 8
C Array - Länge dynamisch übergeben Java Basics - Anfänger-Themen 7
boscho87 Objekte übergeben Best Practice Java Basics - Anfänger-Themen 1
M Variable zwischen Klassen übergeben Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben