1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

String -> Variable

  • Stephe
  • 25. August 2008 um 15:29
  • Unerledigt
  • Stephe
    24
    Stephe
    Mitglied
    Reaktionen
    43
    Punkte
    6.038
    Beiträge
    968
    • 25. August 2008 um 15:29
    • #1

    Keine Ahnung wie ich die Überschrift am besten formuliere, ich will aus einem String eine Referenz auf eine Variable holen, also in der Form

    Code
    JButton button = new JButton("OK");
    String str = "button";
    str.toObject().setText("Nicht OK"); //sowas in der Art suche ich

    Es gibt da eine Möglichkeit mit Class.forName(), allerdings liefert mir die nur neue Instanzen, ich will aber genau dieses eine Objekt JButton.

    Ideen?

  • Paulchen
    1
    Paulchen
    Gast
    • 25. August 2008 um 16:02
    • #2

    Mir fällt jetzt nur die Reflection API von Java, aber ich bezweifle, dass man damit auf lokale Variablen zugreifen kann.

    Aber vielleicht kannst du Informationen zu der konkreten Problemstellung liefern, vermutlich gibt es einen anderen Lösungsweg als den von dir angestrebten.

  • MrMassaker
    12
    MrMassaker
    Mitglied
    Reaktionen
    41
    Punkte
    1.436
    Beiträge
    263
    • 25. August 2008 um 16:12
    • #3

    du könntest den den button in eine hashmap tun.

    das sähe dann ca. so aus:

    Code
    JButton button = new JButton("OK");
    
    
    HashMap map = new HashMap();
    map.put("myButton",button);

    und rausholen kannst du das objekt dann mit

    map.get("myButton");

    Patient: "Doctor, doctor, my eye hurts when I poke it with a spoon."
    Doctor: "Don't poke it, then."

  • thpani
    3
    thpani
    Mitglied
    Reaktionen
    1
    Punkte
    81
    Beiträge
    16
    • 25. August 2008 um 21:35
    • #4

    Ein bisschen (oder sogar sehr :face_with_rolling_eyes:) am Problem vorbeigemogelt:

    Den betroffenen Code in Jython mit getattr/setattr schreiben, ev. mit jythonc bundlen und freezen bzw. einfach mit PythonInterpreter einbetten.

    Would you like an Opal Fruit?
    Even in the most purely logical realms, it is insight that first arrives at what is new. – Bertrand Russell, Our Knowledge of the External World (1914)

  • gelbasack
    25
    gelbasack
    Mitglied
    Reaktionen
    90
    Punkte
    6.525
    Beiträge
    1.241
    • 26. August 2008 um 07:23
    • #5

    Die Lösung mit Jython ist zwar sehr kreativ, aber im Prinzip ist genau eine Hashmap gesucht und die gibt's in Java... ich würd' also auch auf jeden Fall die Finger von sowas wie Reflection lassen in dem Fall.

  • Stephe
    24
    Stephe
    Mitglied
    Reaktionen
    43
    Punkte
    6.038
    Beiträge
    968
    • 26. August 2008 um 09:42
    • #6

    Naja, im konkreten Fall gehts um die Einstellung von Swing-Komponenten-Properties anhand eines Property-Files.

    Da steht also zB. drin "animationSpeedSlider=50", und dann soll der JSlider mit Namen "animationSpeedSlider" auf den Wert 50 gesetzt werden.
    Habs jetzt anders gelöst, allerdings ist dadurch die Wiederverwendbarkeit nicht gegeben, ich möchte die gesamte Routine weiterverwendbar machen, und da wäre das eben schon praktisch.

  • MrMassaker
    12
    MrMassaker
    Mitglied
    Reaktionen
    41
    Punkte
    1.436
    Beiträge
    263
    • 26. August 2008 um 10:15
    • #7

    ich verstehe nicht ganz warum du das property genau so nennen musst wie das objekt das das attribut dann übernimmt.

    da gibts doch andere methoden um property files einzulesen und die werte zu übernehmen.

    aber du wirst schon deine gründe haben. mit den von dir angegebenen hinweisen zur aufgabenstellung ist es leider schwer eine passende antwort zu geben.
    :wave:

    Patient: "Doctor, doctor, my eye hurts when I poke it with a spoon."
    Doctor: "Don't poke it, then."

  • Stephe
    24
    Stephe
    Mitglied
    Reaktionen
    43
    Punkte
    6.038
    Beiträge
    968
    • 26. August 2008 um 10:31
    • #8
    Zitat von MrMassaker

    ich verstehe nicht ganz warum du das property genau so nennen musst wie das objekt das das attribut dann übernimmt.

    Naja, ich hab mehrere JFrames mit unterschiedlichen Steuerelementen, deren Einstellungen ich speichern will. Und da ich nicht jedesmal die store() und load()-Methoden hardcoden will wäre sowas eben schon praktisch. Auf eine andere Methode bin ich noch nicht draufgekommen :)

  • Trux
    12
    Trux
    Mitglied
    Reaktionen
    26
    Punkte
    1.396
    Beiträge
    274
    • 26. August 2008 um 18:42
    • #9
    Zitat von Stephe

    Naja, ich hab mehrere JFrames mit unterschiedlichen Steuerelementen, deren Einstellungen ich speichern will. Und da ich nicht jedesmal die store() und load()-Methoden hardcoden will wäre sowas eben schon praktisch. Auf eine andere Methode bin ich noch nicht draufgekommen :)


    Swing Application Framework kennst du?
    Da hast du Resource-Files zum Auslesen und Setzen von Properties

    https://appframework.dev.java.net/intro/index.html
    http://blogs.sun.com/TechDaysEvents…ework_and_beans

  • Stephe
    24
    Stephe
    Mitglied
    Reaktionen
    43
    Punkte
    6.038
    Beiträge
    968
    • 27. August 2008 um 08:55
    • #10

    Hab mittlerweile schon einen anderen Weg gefunden, aber danke!

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung