JFrame- Methoden aus Main aufrufen

Andre_Java

Mitglied
Ich möchte von meiner Main-Klasse aus auf die JFrame-Klasse zugreifen, die ein Textfeld und eine Textarea enthält. Über die Instanzvariable "meinFrame" klappt das auch aus main(). Nur wie greife ich mit der Funktion AusgabeTextArea(), die sich ja auch in der Main-Klasse befindet, auf die Instanzvariable "meinFrame" zu?

Ich kann ja nicht einfach ein neues Objekt erzeugen, sonst hätte ich ja zwei Fenster.

JForm-Klasse:
Code:
public class JFrame extends javax.swing.JFrame {
    
    public JFrame() {
        initComponents();
    }
    
    public void SchreibeTextFeld(String tmp)
    {
        jTextField1.setText(tmp);
    }
    
    public void SchreibeTextArea(String tmp)
    {
        jTextArea1.setText(tmp);
    }
}

Main-Klasse:
Code:
public class Main {
    
    public Main() {
    }
    
    public static void main(String[] args) {

       JFrame meinFrame = new JFrame();
       meinFrame.setVisible(true);
       
       meinFrame.SchreibeTextArea("Hallo");  //Funktioniert
    }
   
    public void AusgabeTextArea()
    {
       meinFrame.SchreibeTextArea("Test");  //Funktioniert nicht
    } 
    
}

"Cannot find Symbol". Die Instanzvariable kann in der Funktion AusgabeTextArea() nicht gefunden werden.
 
Indem du meinFrame als static Variable der Klasse Main vor dem Constructor und nicht in der main-Methode deklarierst?

Java:
public class Main {
    
    private static JFrame meinFrame = null;

    public Main() {
    }
    
    public static void main(String[] args) {

       meinFrame = new JFrame();
       meinFrame.setVisible(true);
       
       meinFrame.SchreibeTextArea("Hallo");  //Funktioniert
    }
   
    public void AusgabeTextArea()
    {
       meinFrame.SchreibeTextArea("Test");  //Funktioniert nicht
    } 
    
}
 
Zuletzt bearbeitet von einem Moderator:
Zurück