Pereiti prie turinio

Rekomenduojami pranešimai

Dekui, dariau kiek kitaip, o Thread.sleep() zinojau, bet ji man netiko, bet kokiu atveju turiu kita klausima.

	public class MouseListener implements MouseMotionListener{
	public void mouseDragged(MouseEvent arg0) {

	}
	public void mouseMoved(MouseEvent e) {
		currentX = e.getX();
		currentY = e.getY();

		if(onWall){
			timer.schedule(new TimerTask(){
				public void run() {
					saveX = e.getX();
					saveY = e.getY();
					start(); // kvieciu metoda
				}
			}, 1000);
			onWall = false;
		} 
	}
}

Taigi pajudinus pelyte as kvieciu start() metoda, beda ta, kad tarikm sitame metode

public boolean test(int xC, int yC, int sizeX, int sizeY){
	if(xC == sizeX || yC == sizeY){
		onWall = true;
                       start(); // to padaryti negaliu
		return false;
	}else{
		return true;
	}
}

as turiu kviesti vel ta start() metoda, bet tiesiogiai to padaryti negaliu, nes man reikalingos kitos currentX, currentY ir t.t. reiksmes. Tad kaip man vel kviesti ta mouseMoved(MouseEvent e) metoda, jei argumento MouseEvent neturiu?

Redagavo deividas707
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dekui, dariau kiek kitaip, o Thread.sleep() zinojau, bet ji man netiko, bet kokiu atveju turiu kita klausima.

	public class MouseListener implements MouseMotionListener{
	public void mouseDragged(MouseEvent arg0) {

	}
	public void mouseMoved(MouseEvent e) {
		currentX = e.getX();
		currentY = e.getY();

		if(onWall){
			timer.schedule(new TimerTask(){
				public void run() {
					saveX = e.getX();
					saveY = e.getY();
					start(); // kvieciu metoda
				}
			}, 1000);
			onWall = false;
		} 
	}
}

Taigi pajudinus pelyte as kvieciu start() metoda, beda ta, kad tarikm sitame metode

public boolean test(int xC, int yC, int sizeX, int sizeY){
	if(xC == sizeX || yC == sizeY){
		onWall = true;
                       start(); // to padaryti negaliu
		return false;
	}else{
		return true;
	}
}

as turiu kviesti vel ta start() metoda, bet tiesiogiai to padaryti negaliu, nes man reikalingos kitos currentX, currentY ir t.t. reiksmes. Tad kaip man vel kviesti ta mouseMoved(MouseEvent e) metoda, jei argumento MouseEvent neturiu?

Kas krenta į akį, jog tavo test() metodas atlieka per daug. t.y jis turėtų tiesiog patikrinti koordinates ir pan, bet ne paleisti kažko.

Siūlyčiau daryti refaktorinti kodą, akivaizdu, jog code duplication pas tave + funkcija daro daugiau nei aprašo jos pavadinimas.

Redagavo dudeperfect
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...