Jak przekazać tekst z klasy X do textArea w klasie Y?

0

Witam,
Mam fragment kodu, który w uproszczeniu wygląda tak:

public class JakiesGui extends javax.swing.JFrame {
    private String zmienna = "";
    
    public String getZmienna(){
        return zmienna;
    }
    
    public void setZmienna(String zmienna){
        jTextArea1.append(zmienna);
        this.jTextArea1.append(zmienna);//dodanie słowa "this" nic nie zmienia
        this.zmienna = zmienna;
    }
}
public class JakasKlasa implements Runnable {
    JakiesGui obiekt = new JakiesGui();//to rozwiązuje błąd zwracany przez kompilator, choć moja intuicja lamera podpowiada mi, że to nie jest najlepszy z możliwych pomysłów
    
    public JakasKlasa (){//konstruktor
        System.out.println("ten tekst zostanie prawidłowo wyświetlony");
        JakiesGui.setZmienna("ERROR: non-static method setZmienna(java.lang.String) cannot be referenced from a static context");
        obiekt.setZmienna("ten tekst nie pokarze się w GUI, choć nie zostanie zgłoszony żaden błąd");
    }
    
    public void jakasMetoda(){
        System.out.println("ten tekst zostanie prawidłowo wyświetlony");
        JakiesGui.setZmienna("ERROR: non-static method setZmienna(java.lang.String) cannot be referenced from a static context");
        obiekt.setZmienna("ten tekst nie pokarze się w GUI, choć nie zostanie zgłoszony żaden błąd");
    }
}

Dodam, że wywołując tą metodę wewnątrz JakiesGui, np. przy pomocy przycisku, metoda setZmienna działa bez zarzutu. Co zrobić, żeby zaktualizować jTextArea1 ?

Z góry dziękuję za pomoc.

1

Powinno to wyglądać tak:

public class JakasKlasa implements Runnable {
    JakiesGui obiekt;
 
    public JakasKlasa (JakiesGui obiekt){//konstruktor
        this.obiekt = obiekt;
        System.out.println("ten tekst zostanie prawidłowo wyświetlony");
        JakiesGui.setZmienna("ERROR: non-static method setZmienna(java.lang.String) cannot be referenced from a static context");
        obiekt.setZmienna("ten tekst nie pokarze się w GUI, choć nie zostanie zgłoszony żaden błąd");
    }
 
    public void jakasMetoda(){
        System.out.println("ten tekst zostanie prawidłowo wyświetlony");
        JakiesGui.setZmienna("ERROR: non-static method setZmienna(java.lang.String) cannot be referenced from a static context");
        obiekt.setZmienna("ten tekst nie pokarze się w GUI, choć nie zostanie zgłoszony żaden błąd");
    }
}

Musisz jeszcze zmodyfikować wywołania konstruktora JakasKlasa(), zapewne na:

... new JakasKlasa(this);
0

Działa! Dziękuję :) Problem rozwiązany :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1