Name von JTextField als String

MScalli

Erfahrenes Mitglied
Hi Leutz.
Ist es möglich ein JTextField anzusprechen dessen namen man in einer Textdatei als String hat.
evtl geht es mit Reflection so wie bei Klassen und Methoden!

Ich bekomme ein Strin Array(Textdatei) in der mehrere sachen drin stehen.. unter anderem der name des JTextFields und den Inhalt. Kann ich jetzt irgendwie sagen...

array[5].setText(array[6]);

mal vereinfacht gesagt.. in array[5] steht der name des JTextFields und in array[6] der Inhalt des selben.

schon mal thx an alle Helfer.
 

zerix

Hausmeister
Moderator
Hallo,

wenn das Textfeld als Klassenvariable angelegt ist, kannst du das per Reflection lösen.

Das funktioniert dann eigentlich genau wie mit Methoden, nur statt getDeclaredMethod getDeclaredField.

MFG

Sascha
 

zerix

Hausmeister
Moderator
Hier mal ein kleines Beispiel

Java:
import java.awt.BorderLayout;
import java.lang.reflect.Field;

import javax.swing.JFrame;
import javax.swing.JTextField;


public class ReflectionExample2 extends JFrame
{

  private JTextField tf = null;
  
  public ReflectionExample2()
  {
    setSize(200,200);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    
    tf = new JTextField();
    
    add(tf, BorderLayout.CENTER);
    
    
    //hier Zugriff auf TextField via Reflection
    try
    {
      Field field = ReflectionExample2.class.getDeclaredField("tf");
      JTextField tf2 = (JTextField)field.get(this);
      
      tf2.setText("TestText");
    }
    catch (Exception e)
    {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    
  }
  
  public static void main(String[] args)
  {
    new ReflectionExample2().setVisible(true);
  }
  
}


MFG

Sascha
 

MScalli

Erfahrenes Mitglied
das Probier ich nacher gleich aus.
hab so was "ähnliches" im netz gefunden aberdaswollte bei mir nicht ;)

vielen dank!!