Przekazywanie działania MouseListenera

0

Witam!

Piszę aplikację ,która pracuje w sieci lokalnej.
Aplikacja jest przeznaczona do obsługi dwóch użytkowników ( klient i serwer ).
Gdy użytkownicy się połączą ,to mają prawo do jednego ruchu w obrębie planszy.
Ruch polega na kliknięciu w obszar planszy i przesłaniu drugiemu z użytkowników swoich współrzędnych.
I chodzi o to ,że nie wiem jak zablokować MouseListenera jednemu z użytkowników na czas odpowiedzi drugiego.
Próbowałem za pomocą boolowskiej zmiennej statycznej ,która była zmieniana po odbiorze komunikatu ,ale nie do końca mi to działa ;/

Proszę o jakieś wskazówki z góry dzięki ;)

0

No ale co nie działa z tą zmienną boolowską? Bo to jest raczej dobre rozwiązanie.

0

No właśnie działa jeden raz później zaczyna wariować;/

Wypisałem sobie w consoli wartości przyjmowane przez zmienna i w późniejszej fazie przekazywania komunikatów po jednym kliknięciu jest ona ustawiana np 10 razy ( w zależności od ilości komuniaktow ) na true/false.

0

No to widocznie coś źle zrobiłeś, skoro coś takiego się dzieje. Sama metoda jest dobra, tylko wykonanie nie takie. Ciężko powiedzieć co może tam być źle.

0

Mam coś takiego w mouseListener:

public void mouseClicked(MouseEvent e) {
		if( myJRadioButton.isClientSelected && SimpleClient.connected && token == false ) {
			Point click =  e.getPoint();
			komunikat.setText(toString(click.x,click.y));
			SimpleClient.out.print(toString(click.x,click.y));
			SimpleClient.out.flush();
			mainFrame.chatFrame.append("Klient: " + toString(click.x,click.y) + "\n");
			mainFrame.statusField.setText("Wyslano komunikat do serwera");
	                token = true;
		}
		if( myJRadioButton.isServerSelected && SimpleServer.connected && token == true ) {
			Point click =  e.getPoint();
			komunikat.setText(toString(click.x,click.y));
			SimpleServer.out.print(toString(click.x,click.y));
			SimpleServer.out.flush();
			mainFrame.chatFrame.append("Serwer: " + toString(click.x,click.y) + "\n");
			mainFrame.statusField.setText("Wyslano komunikat do klienta");
			token = false;
		} 

Zauważyłem jeszcze ,że po chwilowym wysyłaniu komunikatów obciążenie procka wzrasta do 50% dla obydwu procesów ;/

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