Komunikacja między klasami / między oknami

Komunikacja między klasami / między oknami
modrih
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam!

Chciałbym zapytać się o łatwą możliwość odnoszenia się do komponentów w innej klasie.

Rozpatrzmy przypadek: mam dwie klasy z czego jedna jest apletem z interfejsem graficznym ,mam na niej textField, i chciałbym do niego wpisać jakiś tekst. Niestety polecenie * glowna.napis.setText("bla bla");* gdzie *glowna *to nazwa klasy, a *napis *to nazwa komponentu, nie działa. To nie Delphi :(

Po przejrzeniu kilku stron www raczej nie będzie to takie łatwe bo trzeba być obeznanym w "publicznych, statycznych i innych rzeczach".

Podobnie prosto chciałbym załatwić komunikację między okienkową.

Będzie trzeba użyć czegoś takiego: okienko nazwa = new okienko();

cóż, za jakąś podpowiedź, przykład dziękuje.

LN
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1398
0

Nie rozumiem problemu...

Kopiuj
class Glowna {
  public JTextField napis; // TAK SIE NIE ROBI -> uzyj private i napisz getter (mnie sie nie chce za duzo pisac ;p)
  ...
}

gdzieś:
Glowna g = new Glowna();
g.napis.setText("Ala ma kota");
modrih
  • Rejestracja: dni
  • Ostatnio: dni
0

Dzięki w sumie wszystko było by prawdopodobnie dobrze, ale "gdzieś tam" mam "public class nazwa extends costam {" i przez to extends podkreśla mi aplecik g = new aplecik(); i nie idzie dalej.

LN
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1398
0

Jak rozumiem:

  1. "aplecik" to nazwa klasy apletu
  2. "gdzieś tam" masz napisane:
Kopiuj
public class aplecik extends cośtam {...}

a powinieneś mieć:

Kopiuj
public class aplecik extends JApplet {...}

Polecam: http://download.oracle.com/javase/tutorial/deployment/applet/index.html (wiesz, wiele się można dowiedzieć czytając dokumentację :>)

modrih
  • Rejestracja: dni
  • Ostatnio: dni
0

No ale gdzieś tam muszę mieć coś tam :) bo inaczej mi nie działa aplet.

Kopiuj
public class MyBot extends PircBot {
    
  	public MyBot() {
        this.setName("MyBot");
    }
	
    public void onMessage(String channel, String sender,
            String login, String hostname, String message) {
		if (message.equalsIgnoreCase("time")) {
		String time = new java.util.Date().toString();
		sendMessage(channel, sender + ": The time is now " + time);
	}
	}
} 
modrih
  • Rejestracja: dni
  • Ostatnio: dni
0

Udało się :) JBuilder mi poprawił ustawienia komponentu w apleciku i działa.

tomas1704
  • Rejestracja: dni
  • Ostatnio: dni
0

A jest możliwość wyciągnięcia z funkcji która dostaje na wejście jakieś parametry wyciągnąć np tabelę z rekordami do głównego JFrame klasy?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.