[netbeans] Referencja do kontrolki w innym oknie (klasie)

0

Witam.

Przepraszam za być może zbyt proste pytanie, ale dla mnie to jest nie do przeskoczenia mentalnie.

Otóż zachodzę w głowę (i zaraz oszaleję), jak przekazać jakąś wartość, z nowo otwartego okna (osobna klasa tej samej aplikacji) za pomocą jbutton do jedit znajdującego się w oknie głównym.

Tylko błagam nie piszcie mi, że za pomocą referencji, bo to ja wiem, tylko w jaki sposób można tą referencję uzyskać?

Znalazłem na forum 4programmers.net podpowiedź: http://4programmers.net/Forum/190086?h=referencj#id190086

Próbuje tą poradę wcielić w życie i niestety bez rezultatu. Pisząc aplikację bazodanową można sobie w prosty sposób ułatwić życie wpisując dane z okna potomnego do bazy i odświeżyć kontrolki w oknie głównym ponownie czytując dane (za pomocą metody statycznej). Tylko, że chciałem napisać malutki programik bez konieczności zapisywania danych. Będę szczęśliwy jak dowiem się w końcu jak uzyskać referencję do pola klasy okna głównego z innej klasy okna potomnego.

Jeśli znalazłby się ktoś, kto by mi podesłał [email protected] prosty przykład (w netbeans) rozwiązania tego problemu (nie musi być opisów, sam sobie przeanalizuję kod), postawię [browar]

Z góry dziękuję za pomoc. :-|

0

Przecież to jest proste jak budowa cepa ;-) .

public class Glowna
{
    ....
    ..... = new Inna(this);
public class Inna
{
     private Glowna parent;
     public Inna(Glowna parent)
     {
           ....
           this.parent=parent;
           .....
     }
}

I w polu parent klasy Inna masz referencję do głównego okna.

0

Dzięki za odpowiedź.

Owszem to co napisałeś idealnie nadaje się na referencję do okna. Ale jak uzyskać dostęp do pola JTextField w oknie głównym?

czy za pomocą this.parent.[jakaś_metoda] uzyskam dostęp do JTextField w oknie głównym?

Dodam, że mam metodę publiczną zwracającą referencję do JTextField, ale nadal nie wiem jak wywołać tę metodę w oknie potomnym :( To pewnie też będzie banał, ale kurcze nie mogę tego rozgryźć.

Oto ta metoda:

public javax.swing.JTextField getEdit() {
        return edit;
    }

Aż mi głupio o to pytać, ale naprawdę nie mam pojęcia jak ją wywołać w klasie okna potomnego. [glowa]

0

[glowa] ale durny jestem, przekazywałem referencje do Frame, zamiast referencje do klasy.

Dzięki za pomoc w zrozumieniu swojego błędu :-)

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