Vai esi kādreiz domājis, kā Drag un Drop tiek īstenots grafiskajā saskarnē? Šis jēdziens nemaz nav izplatīts tikai modernās lietotnēs, bet arī ir ļoti svarīgs lietotāju pieredzei. Šajā rokasgrāmatā es parādīšu, kā tu var implementēt Drag un Drop JavaFX, izveidojot divus kvadrātus, kurus vari pārvietot. Tas būs solis-pa-solim ceļvedis, lai tu viegli varētu izsekot visiem nepieciešamajiem soļiem.
Galvenās atziņas
- Drag un Drop ļauj lietotājiem vienkārši pārvietot objektus.
- Drag un Drop īstenošana JavaFX ir viegli izdarāma ar notikumu apstrādātājiem un Lambda izteiksmēm.
- Kollīzijas atpazīšana ir būtiska, lai noteiktu, vai objekts ir novietots noteiktā teritorijā.
Solām-pa-solim rokasgrāmata
1. Projekta iestatīšana
Pirmkārt, izveido jaunu JavaFX projektu savā izstrādes vidē. Pārliecinies, ka visi nepieciešamie bibliotēkas ir integrētas. Sāksim ar pamatkonstrukciju tavai lietojumprogrammā, izveidojot galveno klasi.

2. Izveido lietotāja saskarni
Par mūsu piemēru mēs izveidosim divus kvadrātus: mazu, kuru vēlamies pārvietot, un lielu, kas kalpos kā mērķis. Kods tam izskatās šādi:
Izveidojot taisnstūrus, tu definē to atrašanās vietu un izmērus.

3. Atrašanās vietas un skatu iestatījums
Nākamais, tev būs nepieciešamas mainīgās, lai saglabātu objektu atrašanās vietu. Definē skatu X- un Y-kordnātus. Šie tiek izmantoti, lai sekotu kustībai Drag-and-Drop procesā.
4. Pievieno notikumu apstrādātājus
Nākamais solis ir pievienot notikumu apstrādātājus, kas ļauj īstenot Drag-and-Drop funkcionalitāti. Mēs sākam ar apstrādātāju peles klikšķiem.
Šeit tu saglabā pašreizējo peles pozīciju, kad peles poga tiek nospiesta.
5. Pārvietošanas apstrādātāja īstenošana
Pārvietošanas fāzē mēs izmantojam vēl vienu notikumu apstrādātāju, kas ļauj tev pārvietot kvadrātu, kamēr turpini turēt nospiestu peles taustiņu.
Šajā brīdī tu atjaunini kvadrāta atrašanās vietu, pamatojoties uz pašreizējo peles kustību.
6. Peles pogas atbrīvošana
Lai ņemtu vērā peles pogas atbrīvošanu, pievieno papildu apstrādātāju. Šis maina kvadrāta krāsu un pārbauda, vai tas tiek novietots noteiktā mērķa pozīcijā.
7. Kollīzijas atpazīšana
Lai pārbaudītu, vai pārvietotais kvadrāts ir novietots mērķa kvadrātā, tu īstenosi metodi, ko sauc par checkBounce.
Šeit tu atpazīsi, vai abi kvadrāti pārklājas un mainīsi mērķa kvadrāta krāsu attiecīgi.

8. Objektu pievienošana scenārijam
Visbeidzot, tu pievieno izveidotos taisnstūrus savai ainai un iestatīsi ainu uz skatuves.
Kopsavilkums – Drag un Drop ar JavaFX
Ar šo rokasgrāmatu tu esi iemācījies, kā JavaFX implementēt vienkāršu Drag-and-Drop sistēmu. Tu esi iepazinies ar kollīzijas atpazīšanas pamatiem kā arī ar peles notikumu apstrādi. Drag un Drop funkcionalitātes ir izšķirošas, lai uzlabotu tavu lietojumprogrammu lietojamību.
Biežāk uzdotie jautājumi
Kā es varu īstenot Drag un Drop JavaFX?Tu ievieš peles taustiņu notikumus, lai izsekotu pozīcijām un pārvietotu objektus.
Kas ir kollīzijas atpazīšana šajā kontekstā?Tā ir pārbaudīšana, vai divi objekti ir pārklājušies un kā tas tiek vizuāli attēlots.
Vai es varu izmantot Drag un Drop citām objektiem?Jā, šis jēdziens ir elastīgs un var tikt piemērots dažādiem JavaFX objektiem.