Kezdőoldal » Számítástechnika » Programozás » Szerintetek mi a gond ezzel a...

Krisz2 kérdése:

Szerintetek mi a gond ezzel a kóddal?

Figyelt kérdés

Hiába nyomkodom a gombokat nm történik semmi pedig nem ad hibát a fordító szóval gondolom valami logikai baki.

(egyébként látom a képen h van egy fölösleges q függvény de ezért nem csinálom újra a képet :D)

[link]

[link]

[link]

[link]



2013. máj. 20. 09:51
 1/3 anonim ***** válasza:

De miért nem illeszted be a kódot? Persze nem ide, hanem pastebin-re kéne, és sem neked, sem nekünk nem kéne screenshotokkal szenvednünk. :)


Egyébként meg ahogy látom az actionPerformed-ben az event.getActionCommand()-ból indulsz ki, és aszerint döntöd el mit csináljon. Én első lépcsőben a helyedben kiíratnám, hogy ez a metódus mit ad vissza.


Egyébként meg nagyon úgy nézem, hogy teljesen mindegy is mit csinálsz abban az actionPerformed-ben, mert módosítottad a paraméter listáját. A hiba az, hogy nem kéne, mert nem azt fogja hívogatni. Hanem azt az actionPerformed-et, amelyik az ActionListener interface-ben van és definiálnod kéne. Ahogy látom te szép üresen hagytad. Ezt tessék kitölteni megfelelően és működni fog. :)

2013. máj. 20. 10:41
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
Azt megértettem hogy mért ne változtassam meg a paramétereket viszont a többit eltudnád mondani kicsit egyszerűbben mert ehhez még túl kezdő vagyok :D
2013. máj. 20. 11:01
 3/3 anonim ***** válasza:

Megpróbálom. :)


Nos, ahhoz hogy egy gomb csináljon valamit, ahhoz ActionListener-t kell hozzákötni.

Az ActionListener egy interfész, tehát nincs benne kód, csak metódusfejléc(ek), ez(eke)t neked kell megvalósítanod.

Egyetlen metódust kell megadni, ez a void actionPerformed(ActionEvent e).

Ez a metódus fog lefutni, ha a gombbal valami történik, és az 'e' paraméter írja le neked, hogy milyen esemény történt - ezt a paramétert tudod vizsgálgatni a metódusban és ez alapján tudsz dönteni, mit csinálj.

Például az actionCommand alapján dönthetsz, hogy milyen matematikai műveletet végezz (bár én ezzel az actionCommand-el még nem dolgoztam).


Amivel ugye neked trükköznöd kell, hogy az actionPerformed megkapja a két operandust a matematikai műveleteidhez.


Erre több megoldás is van. Vagy minden gombhoz saját ActionListener-t rendelsz*, vagy valamilyen módon átadod a CalculatorRun-nak a TextBox-aidat - például a konstruktorban. Ekkor az actionPerformed hozzájuk fog férni, tudja őket olvasni, módosítani. Ezt a konstruktort pedig meghívhatod az ablakod (Számoló) konstruktorában.


*: inline is lehet:


button1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

// ...

}

});


Remélem segítettem. :)

2013. máj. 20. 11:45
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!