24. januar 2005 - 11:31Der er
10 kommentarer og 1 løsning
Rent teknisk vedr. java Events
Når man implementerer et interface i java - eks ActionListener, dikteres det, at man skal implementere de metoder, der findes i interfacet. Den metode, der findes i actionPerformed har et argument og dette er klassen ActionEvent.
For hvert tryk på eks. en JButton sker et event (hvis der er tilføjet en lytter) - dette kunne vel være et ActionEvent. Jeg forestiller mig, at ActionEvent klassens datafelter bliver opdateret, hvorefter actionPerformed(ActionEvent) kaldes, men hvorfra???? Grunden til at jeg er i tvivl er, at man kan jo ikke på forhånd vide hvad klassens navn er - den der tilføjer lytteren (via addActionListener(objektets navn))
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
du tilføjer en action listener til et button, den gemmes i button objektet, når du så klikker på button kaldes den gemte action listener med et event objekt
Jeg forstår det stadig ikke. Lad os sige at vi har en klasse. Den klasse hedder Hej. Hej klassen implementerer interfacet ActionListener og dermed også metoden ActionPerformed(ActionEvent). Når jeg tilføjer actionListener(Hej) på button i klassen Hej, siger du at button invoker actionPerformed() ? Så er det Button der automatisk indeholder en reference til Hej, så actionPerformed(ActionEvent) kan kaldes?
Ja det er dette "så kalder swing" som jeg interesserer mig for. Selve processen med hvorfra ActionEvent bliver konstrueret, det må jo ske i den rækkefølger, at ActionEvent objektet konstrueres og dernæst kaldes actionPerformed .
Jeg prøver nemlig selv at konstruere et flow der minder om dette, i egen applikation. Det har intet med buttons at gøre. Men jeg går vel ud fra, at jeg kan arbejde mig videre herfra. Så bare kast det berømte svar.
Ahh. Jeg forstod det nu. Bedre sent end aldrig. Det minder mig lidt om delegates i C#.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.