Quick and dirty guide to SWT applet.

22 Apr 2005

Napiszę to tu, bo może ktoś będzie jeszcze potrzebował i ma lepsze rzeczy do roboty niż wyważanie otwartych drzwi. Po poierwsze, jeśli już konieczni musisz zamieścić część logiki w aplecie to lepiej od razu połóż się na torach i poczekaj odpowiednio długo. Po drugie, zapomnij o SWT osadzonym wewnątrz kanwy AWT. Po trzecie, skoro kuż robisz aplet i używasz SWT to warto zadbać o krosplatformowość.

  1. Stwórz applet. Nie masz szans (przynajmniej na razie) na osadzenie go w oknie AWT, więc będzie to pływające, standalone okienko. Nie szkodzi. Zrób z niego jar-a i wrzuć na serw. Możesz również potrzebować podpisać aplet certyfikatem. Opisy tej czynności wręcz zaśmiecają sieć, więc nie będę dublował.
  2. Stwórz kod HTML. Kod powinien wyglądać mniej więcej tak:
    if (stristr($_SERVER['HTTP_USER_AGENT'], 'Windows'))
            $libs = 'windows/swt.jar';
    if (stristr($_SERVER['HTTP_USER_AGENT'], 'Linux'))
            $libs = 'linux/swt.jar, linux/swt-pi.jar';
    
    $out = '<applet codebase="." code="SuperSWTApplet.class" ';
    $out.= 'archive="SuperSWTApplet.jar, '.$libs.'" name="SuperSWTApplet">';
    $out.= '</applet>';
    print($out);
    
  3. SWT po stronie serwera Utwórz katalogi linux i windows tam, gdzie wskazuje codebase. Wrzuć do nich jar-y SWT. Dla Windy będzie to tylko swt.jar, Linux z GTK potrzebuje jeszcze swt-pi.jar. UWAGA: te pliki różnią się dla każdej architektury, więc nie pomieszaj ich.
  4. SWT u klienta Zainstaluj na kliencie biblioteki współdzielone SWT. W Linuksie wszystkie pliki .so powinny wylądować np. w /usr/lib albo w katalogach maszyny wirtualnej, w Windows i tak jest burdel, więc nic się nie stanie jak kolejne .dll-ki wylądują w %SystemRoot%\system32. Możesz potrzebować zmiany polityki bezpieczeństwa VM, więc zapisz w homedirze usera plik .java.policy, a w nim:
    grant "adres.serwera.z.apletem" {
      permission java.security.AllPermission;
    };
    
    Pamiętaj by później zmienić ten plik i dać apletowi mniejsze uprawnienia. You've been warned.

Mimo że działa to aplety jako część core logic to nienajlepszy pomysł. Unikaj. A gdy zmuszają - krzycz! Masz do tego prawo!

---

Kupię mieszkanie M-2 lub M-3 na Śląsku w okolicy Katowic, Zabrza lub Gliwic, ew. gdzieś pomiędzy. Może być do remontu lub z piecami.

Digg del.icio.us StumbleUpon Wykop Reddit Folksr

permalink | trackback | rss

 
 

Your turn:

nick:
and?:
www (if any):
Wpisz kod:code
Quick and dirty guide to SWT applet. swt applet