Kaip įdiegti „Java“ veiksmų klausytuvą



Šis straipsnis suteiks jums išsamių ir išsamių žinių apie „Java“ veiksmų klausytoją ir geresnio supratimo pavyzdžių.

Kai vartotojas atlieka tam tikrą veiksmą turi sugebėti veiksmingai su ja susidoroti. Veiksmo klausytojai „Java“ tokiose situacijose labai praverčia. Šiame straipsnyje aptarsime šiuos dalykus:

Įvadas į veiksmo klausytoją

Kaip programuotojas, jūsų pareiga apibrėžti, ką veiksmų klausytojas gali padaryti vartotojo operacijai. Pavyzdžiui, apsvarstykime paprastą scenarijų, kai vartotojas meniu juostoje pasirenka tam tikrą elementą arba teksto lauke paspaudžia klavišą Enter, kad pereitų prie naujos eilutės. Atlikus tokias vartotojo funkcijas, pranešimas „veiksmas atliktas“ siunčiamas visiems atitinkamame komponente apibrėžtiems veiksmų klausytojams.





Žemiau vaizdžiai aprašoma, kaip parašyti veiksmo klausytoją:

Action-Listener-List



Čia svarbiausia ir neatsiejama dalis yra objektas, galintis įgyvendinti „Action Listener“ sąsają. Šį objektą programa turi identifikuoti kaip veiksmo klausytoją mygtuke, kuris yra ne kas kitas, o tik įvykio šaltinis.

Taigi, naudojant metodą addActionListener, vartotojui spustelėjus mygtuką, jis suaktyvina veiksmo įvykį. Tai iškviečia veiksmų klausytojo „actionPerformed“ metodą. Atkreipkite dėmesį, kad tai yra vienintelis „ActionListener“ sąsajos metodas. Vienintelis metodo argumentas yra objektas „ActionEvent“, teikiantis informaciją apie įvykį ir jo šaltinį

Veiksmo įvykių klasė

Metodai apibūdinimas
Eilutė „getActionCommand“ ()

Grąžina eilutę, susietą su šiuo veiksmu. Dauguma objektų, kurie gali suaktyvinti veiksmo įvykius, palaiko metodą, vadinamą setActionCommand, kuris leidžia nustatyti šią eilutę.



int getModifiers ()

Pateikiamas sveikasis skaičius, kurį vartotojas paspaudė įvykio metu. Kai kurios „ActionEvent“ apibrėžtos konstantos, tokios kaip SHIFT_MASK, CTRL_MASK, META_MASK ir ALT_MASK, naudojamos nustatant paspaustus klavišus. Pavyzdžiui, jei vartotojas pasirenka meniu punktą, išraiška yra nulis

Objektas getSource ()

(faile java.util.EventObject)

Grąžina įvykį paleidusį objektą.

Veiksmų klausytojo diegimas „Java“

paketas com.javapointers.javase importuoti java.awt.BorderLayout importuoti java.awt.event.ActionEvent importuoti java.awt.event.ActionListener importuoti javax.swing.JButton importuoti javax.swing.JFrame importuoti javax.swing.JTextArea viešosios klasės ActionListenerTest įrankius ActionListener {JButton mygtukas JFrame frame JTextArea textArea public ActionListenerTest () {button = new JButton ('Click Me' frame) = new JFrame ('ActionListener Test') textArea = new JTextArea (5, 40) button.addActionListener (this) textArea. setLineWrap (true) frame.setLayout (new BorderLayout ()) frame.add (textArea, BorderLayout.NORTH) frame.add (mygtukas, BorderLayout.SOUTH) frame.pack () frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setV true)} @Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ('Spustelėjote mygtuką)')} public static void main (String args []) {ActionListenerTest test = new „ActionListenerTest“ ()}}

Ankstesniame kode veiksmų klausytojas turi būti įdiegtas klasėje, kad galėtumėte jį pasiekti. Taigi būtinai pridėkite įrankio raktinį žodį ir klausytoją.

button.addActionListener (tai)

Tai reiškia, kad komponento mygtukas bus įtrauktas į komponentus, kurie yra stebimi veiksmo įvykiui. Privaloma pridėti komponentą prie veiksmų klausytojo, kad galėtumėte pridėti kodus vartotojui spustelėjus tą konkretų komponentą. Komponentų, kurie nėra pridėti prie veiksmų klausytojo, nepavyks stebėti.

Dabar pažvelkime į kitą paprastą „Java“ veiksmų klausytuvo pavyzdį ir kaip jis veikia.

2 pavyzdys:

sulieti rūšiavimo programą java

Čia yra 3 paprasti „Java“ mygtuko objektai, kur jie vadinami raudona, žalia ir mėlyna. Priklausomai nuo mygtuko paspaudimo, fono ekrano spalva pasikeičia.

Žemiau pateiktose diagramose pavaizduota atitinkama kodo išvestis, kuri dedama šio dokumento pabaigoje. Parodytas tik vienas mėlynos spalvos ekrano pavyzdys. Įdiegus šį kodą, galima pamatyti kitas spalvas, pavyzdžiui, raudoną ir žalią.

Mygtuko objektas „rb“ yra susietas su „ActionListener“. Parametras „this“ reiškia „ActionListener“. Jei susiejimas nebus atliktas, programa parodys 3 mygtukus, tačiau be įvykių tvarkymo.

„getEctionCommand“ („ActionEvent“ klasės metodas atmeta atitinkamo mygtuko, kurį vartotojas spustelėjo kaip eilutę, etiketę. str.

importuoti java.awt. * importuoti java.awt.event. * viešoji klasė „ButtonDemo“ praplečia „Frame“ įrankius „ActionListener“ {mygtukas rb, gb, bb // trys mygtuko nuorodos kintamieji public ButtonDemo () // konstruktorius, skirtas apibrėžti mygtuko ypatybes { „FlowLayout“ = naujas „FlowLayout“ () // nustatykite išdėstymą kadrui „setLayout“ (fl) rb = naujas mygtukas ('raudonas') // konvertuoti kintamuosius į objektus gb = naujas mygtukas ('žalias') bb = naujas mygtukas ('mėlynas') rb.addActionListener (tai) // susiekite „Java“ mygtukus su „ActionListener“ gb.addActionListener (tai) bb.addActionListener (tai) pridėkite (rb) // pridėkite kiekvieną „Java“ mygtuką prie rėmelio add (gb) add (bb) setTitle ('mygtukas veiksme ') setSize (300, 350) // rėmelio matmenys, (plotis x aukštis) setVisible (true) // apibrėžiantis rėmelis matomas monitoriuje, numatytasis yra setVisible (false)} // pakeis tik abstraktų „ActionListener“ sąsajos metodą public void actionPerformed (ActionEvent e) {String str = e.getActionCommand () // identifikuoti mygtuką, kurį spustelėjote System.out.println ('Spustelėjote mygtuką + str +' ') // if (str.equals ('Raudona')) {setBackground (Color.red)} else if (str.equals ('Green')) {setBackground (Color.green)} else if (str.equals ('Mėlyna') ) {setBackground (Color.blue)}} public static void main (String args []) {new ButtonDemo () // anonimas ButtonDemo objektas paskambinti konstruktoriui}}

Tuo mes artėjame prie „Java“ veiksmo klausytojo pabaigos. Tikiuosi, kad supratote „Java“ veiksmų klausytoją.

Patikrinkite sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. „Edureka“ „Java J2EE“ ir SOA mokymo ir sertifikavimo kursai yra skirti studentams ir profesionalams, norintiems būti „Java“ kūrėjais. Kursas sukurtas tam, kad galėtumėte pradėti žvalgytis į „Java“ programavimą ir išmokyti pagrindinių bei pažangių „Java“ koncepcijų kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio tinklaraščio „Veiksmų klausytojas„ Java “komentarų skiltyje, ir mes kuo greičiau susisieksime su jumis.