Faq creat în procesul de dezvoltare a unei companii de dezvoltare software Java-applet

Cum utilizez opțiunile de pornire pentru apple?

În exemplul de mai sus, structura "var parameters = <>; "trebuie să adăugați parametrii necesari: de exemplu,







În applet, parametrii se citesc după cum urmează:

Această metodă funcționează, de asemenea, atunci când porniți applet-ul folosind etichete și .

Cum se creează o captură de ecran a componentei Swing / AWT?

Acest lucru se poate face în 2 moduri. În ambele cazuri, componenta trebuie să fie vizibilă.

Fără a folosi un robot:

Utilizarea robotului:

În acest caz, va fi făcută o captură de ecran a zonei în care este localizată componenta. Adică, dacă componenta suprapune fereastra unei alte aplicații, pe ecran va apărea ecranul ferestrei terță parte.

Cum se utilizează 2 aplicații în același timp în același browser dacă există câmpuri statice în ele?

Pentru a face acest lucru, trebuie să rulați aplicații în diferite JVM-uri. Pentru a porni applet-uri în diferite JVM-uri, trebuie să le executați cu parametrul separate_jvm = true.

Cum în Swing este posibil să se creeze un câmp de intrare care să se extindă dinamic la depășire, precum și dimensiunea minimă?

Un exemplu de JTextField:

Cum să implementați DragDrop în Swing?

În Java 6, a apărut un mecanism destul de convenabil pentru implementarea programului DragDrop, dar are dezavantajele sale. De exemplu, trebuie să specificați explicit Drop Target, care nu este foarte convenabil când trebuie să puneți obiectul lângă Drop Target. De asemenea, în implementarea standard nu există nici o garanție a ordinii de implementare a metodelor ascultătorilor. Voi descrie conceptul de implementare a unui DragDrop mai extensibil.







Inițial, pentru toate componentele de tragere (Drag Source), trebuie să alocați ascultătorilor mouse-ul (Mouse Listener și MouseMotionListener). Este necesar să implementați 3 metode: metoda de a face clic pe obiect, metoda de deplasare a mouse-ului când butonul mouse-ului este apăsat pe obiect (mouseDragged în MouseMotionListener) și metoda de eliberare a butonului mouse-ului.

Arată numirea ascultătorilor astfel:

În consecință, când faceți clic pe obiect, DragDrop pornește, atunci când mutați mouse-ul, obiectul trebuie să se miște, când butonul mouse-ului este eliberat, obiectul trebuie să-și schimbe coordonatele și să se mute în noul container. Dacă obiectul se mișcă numai într-un singur container, atunci poate fi implementată numai metoda mouseDragged (). în care se vor modifica coordonatele obiectului tras:

Dar puteți seta coordonatele obiectului tras în raport cu containerul pe care este amplasat. În consecință, atunci când mutați mouse-ul în alt container, trebuie să adăugați componenta în noul container, să calculați noi coordonate etc. Această metodă nu este foarte plăcută și extensibilă, așa că vă sugerez să folosiți GlassPane. pentru a afișa obiectul tras.

Algoritmul este aproximativ după cum urmează:

  • Faceți clic pe obiect.
  • Obținem o captură de ecran a obiectului (cum se face o captură de ecran, vezi mai sus).
  • Ascunde obiectul original.
  • Desenați o captură de ecran glassPane a obiectului, pe baza coordonatelor mouse-ului.
  • Când mutați mouse-ul, redrafli ecranul pe noile coordonate.
  • Când butonul mouse-ului este eliberat, puneți obiectul pe containerul în care se află cursorul.
  • Afișăm obiectul original.

Cu această abordare, nu avem un șir pe containerul la care să cadă cursorul, astfel încât să apară o Drop și, în consecință, obiectul poate fi "abandonat" oriunde.


GlassPane cu efect de transparență:

În acest răspuns, este doar pictat conceptul de implementare.

Cum se semnează un applet cu un certificat?







Trimiteți-le prietenilor: