publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
28 skomentuj »

TAGI: aplet , java , kurs , netbeans , programowanie , sun microsystems , swing

2008-04-25 19:40  |  Dorota Trajkowska

Kurs Javy. Praktyczne programowanie, część II – aplety Javy

Kurs Javy. Praktyczne programowanie, część II – aplety Javy

Java jest językiem programowania, który swoją popularność zawdzięcza między innymi apletom, czyli osadzanym na stronach internetowych programom napisanym w języku Java. W pierwszej części kursu zapoznaliśmy się z obsługą środowiska programistycznego NetBeans i zdołaliśmy stworzyć pierwszą prostą aplikację, którą można jako samodzielny program uruchomić z poziomu systemu operacyjnego. W tej części kursu stworzymy aplikację Puzzle i na jej przykładzie dowiemy się, w jaki sposób utworzyć aplet i jak umieścić go na stronie internetowej. Poznamy także sposoby renderowania grafiki oraz obsługi zdarzeń związanych z myszą. Opublikowana właśnie część trzecia dotyczy tworzenia wielowątkowych aplikacji.

Spis treści

3. Aplet Javy

3.1. Tworzymy projekt apletu

W środowisku programistycznym NetBeans tworzenie apletu rozpoczynamy od przygotowania projektu. Wybieramy zatem z paska menu File | New Project. Ukaże się okno New Project z widocznymi dwiema grupami: Categories oraz Projects. W grupie Categories zaznaczamy Java, a w grupie ProjectsJava Class Library. Nasz wybór zatwierdzamy przyciskiem Next.

Webhosting.pl

Rysunek 17: Okno nowego projektu.

Powoduje to wyświetlenie okna o tytule New Java Class Library. W polu Project Name wpisujemy dowolną nazwę projektu. Nazwijmy go na przykład „ProjektAplet”. Kolejne pole o nazwie Project Location możemy pozostawić bez zmian, chyba że zależy nam na zmianie lokalizacji naszego projektu. Wtedy wystarczy uruchomić znajdujący się obok pola przycisk Browse..., aby ustawić jego nowe położenie w systemie plików. Wykonane przez nas operacje zatwierdzamy przyciskiem Finish.

W okienku Projects (które znajduje się w lewej górnej części głównego okna NetBeans) prawym przyciskiem myszy klikamy węzeł naszego projektu, czyli w tym przypadku ProjektAplet.

Pokaże się menu, z którego wybieramy New | Other...

Webhosting.pl

Rysunek 18: Menu projektu.

W nowo otwartym oknie New File zaznaczamy w grupie Categories opcję Java, w grupie File Types zaznaczamy zaś JApplet lub Applet.

Webhosting.pl

Rysunek 19: Wybór typu budowanej aplikacji.

 

SWING a AWT

Wybranie jako typu pliku JApplet oznacza, że nasz aplet będzie wykorzystywał bibliotekę graficzną Javy o nazwie SWING, wybranie Applet natomiast – że użyta będzie biblioteka graficzna AWT. AWT to biblioteka już nierozwijana. SWING jest następcą AWT, w wielu sytuacjach łatwiejszym w użyciu i dającym większe możliwości. Niestety, pochłania on jednak więcej zasobów systemu. Dla rozróżnienia klas zawartych w tych pakietach przyjęto do nazw w SWING-u dodawać na początku literę J. Od nas zależy, z której biblioteki skorzystamy.

Dla naszego projektu wybieramy klasę JApplet. Wybór zatwierdzamy przyciskiem Next. Pojawi się okno New JApplet. W znajdujące się w nim pole Class Name wpisujemy nazwę apletu. Dla naszego projektu niech to będzie nazwa PuzzleAplet. Możemy także podać nazwę pakietu, do jakiego ma należeć nasz aplet (w polu package).

Pakiet (zwany także biblioteką) to struktura katalogów, w której zostanie wygenerowana klasa Javy.

My jednak pozostawimy pozostałe pola bez zmian.

Webhosting.pl

Rysunek 20: Właściwości nowego apletu.

Operację zatwierdzamy przyciskiem Finish. Spowoduje to wygenerowanie apletu w podanym wcześniej pakiecie. W oknie edytora pojawi się jego kod źródłowy.

«poprzednia 1 2 3 4 ... 7 następna »

publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
28 skomentuj »

Polecamy

Reklama

Komentarze

  • eimi

    #1 eimi 2008-07-07 11:07:59 0

    Wyczekiwana przez wielu, druga część kursu Javy - jak widać już jest. Mamy nadzieję część trzecią opublikować pod koniec maja.

    None

  • code monkey

    #2 code monkey 2008-07-07 11:07:59 0

    Dziękuję dziękuję bardzo ciekawy kurs.

    None

  • tomasz

    #3 tomasz 2008-07-07 11:07:59 0

    zacznijcie podawać kody źródłowe pod koniec wszystkich takich tekstów. w pierwszej części kursu ich nie było i trzeba było po kawałku przepisywać. o czym bedzie trzecia część?

    None

  • eimi

    #4 eimi 2008-07-07 11:07:59 0

    Z tego co się dowiedziałem, będzie o wątkach i obsłudze klawiatury. Do tego prosta gra :).

    None

  • johnny

    #5 johnny 2008-07-07 11:07:59 0

    Swietny kurs! Bardzo mi sie podoba! Keep it comming ;) (tylko tych CAPCHA nie moge rozczytac pod komentarzem ... :( )

    None

  • clean-up

    #6 clean-up 2008-07-07 11:07:59 0

    Proszę o poprawne(jednolite) formatowanie kodu oraz o łapanie wyjątku o konkretnym typie, a nie tylko ogólne 'Exception'

    None

  • Rewelacja

    #7 Rewelacja 2008-07-07 11:07:59 0

    Kurs rewelacyjny, mam nadzieje ze nie spoczniesz na laurach ;)

    Oby wiecej takich osob bylo.

    None

  • Orab

    #8 Orab 2008-10-25 13:35:46 0

    Gdzie powinienem umiescic obrazki? W ktorym katalogu projektu?

    None

  • oskaros

    #9 oskaros 2008-10-29 14:25:36 0

    w katalogu build/classes projektu, czyli tam, gdzie zostały wygenerowane pliki klasy podczas kompilacji

    None

  • Bazuka

    #10 Bazuka 2009-01-25 14:56:03 0

    Dzięki za świetny kurs z zajebistym opisem;) wszystko ładnie co i jak i na końcu jak powinien wyglądać kod. Extra kurs, polecam... uratował mi i koledze życie na zajęciach z JAVY:)

    IP: 212.109.132.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5

  • Someone

    #11 Someone 2009-04-07 20:11:12 0

    Czy w tym aplecie obrazki mają się tylko wyświetlać czy jeszcze dać ułożyć? Jeżeli w planach było układanie to u mnie nie mogę nic ruszyć.

    Wie ktoś co jest nie tak?

    IP: 217.98.20.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)

  • Ponury

    #12 Ponury 2009-04-11 17:01:30 0

    Jestem poczatkującym programistą posługującym się językiem Java, i pisząc ten aplet nie mogłem oprzeć się wrażeniu że sto razy łatwiej, szybciej oraz z lepszym efektem możnaby było podobny napisać we Flashu, nie sądzicie? Pytam bo sam troszke bawiłem się Fashem i nigdzie nie trzeba było pisać tysięcy if'ów wraz z else if'ami:-)aby uzyskać efekt zmiany obrazka na inny. do tego nie ma żadnego przejścia, applet poprostu 'przerysowywuje się' z nowym ułożeniem. Naprawde nie narzekam, rozumiem że cały kurs ma charakter edukacyjny i pod tym wzgledem jest świetny, ale czy nie dałoby się podobnego efektu uzyskać szybciej, łatwiej?

    IP: 86.129.111.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)

  • vinstrol

    #13 vinstrol 2009-04-12 00:00:57 0

    Ja też nie moge ich układac nie wiem dlaczego, kod w końcu skopiowałem błędów nie pokazuje ale nie działa przemieszczanie.

    IP: 83.20.188.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 FirePHP/0.2.4

  • Freeezer

    #14 Freeezer 2009-05-02 15:07:16 0

    Panel ten utworzymy nie jako formatkę, ale zwykłą klasę, ponieważ tym razem nie będziemy korzystali z wizualnego programowania.
    Świetnie, ale w takim razie po co pisać to w NetBeansie ?? do czegoś takiego wystarcza zwykły edytor tekstu i konsolka (wiersz poleceń) z którego wystukamy kompilację... Jak już zabierać się za kurs w środowisku, to może chociaż pokazalibyście jak to można robić poprzez "wizualne programowanie" ??

    IP: 79.191.233.[...] Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10

  • backen

    #15 backen 2009-05-19 19:18:49 0

    @eimi 2008-07-07 11:07:59 

    Wyczekiwana przez wielu, druga część kursu Javy - jak widać już jest. Mamy nadzieję część trzecią opublikować pod koniec maja.

    Pod konec maja ktorego roku?

    IP: 94.40.44.[...] Opera/9.64 (Windows NT 5.1; U; pl) Presto/2.1.1

  • ktoś

    #16 ktoś 2009-07-05 12:24:33 0

    obrazek nie odczytuje się mi w narysowanej tablece. obrazek widać tylko w 2 ktarkach po prawej stronie reszta jest poza tabelką. Co mam zrobić? Jak trzeba nazwać obraz?

    IP: 77.253.104.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/530.5 (KHTML, like Gecko) Chrome/2.0.172.33 Safari/530.5

  • rafals

    #17 rafals 2009-08-01 13:26:55 0

    oczywiście zamiast

    for(int i=0;i

    można napisać po prostu:

    for(int i=0;i

    czyż nie łądniej?

    IP: 83.14.205.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/530.5 (KHTML, like Gecko) Chrome/2.0.172.39 Safari/530.5

  • rafals

    #18 rafals 2009-08-01 13:31:08 0

    oczywiśćie zamiast pisać:

    for(int i=0;i x=(i%3) * 200;

       y=(i/3)* 150;

      

      g2.drawImage(tabImage,x,y,null);  

    }

    czyż nie łądniej?

    IP: 83.14.205.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/530.5 (KHTML, like Gecko) Chrome/2.0.172.39 Safari/530.5

  • myfaith

    #19 tomatello® 2009-09-08 16:33:53 0

    Niestety mam problem. Aplet nie w ogole nie odczytuje obrazow i tym samym nie ma akcji myszy. Obrazy umiescilem w folderze build/classes. Wyswietla mi exception o bledzie odczytu plikow. Najciekawsze jest to, ze wszystko bezproblemowo dziala w Eclipse.

    Ktokolwiek zna przyczyne bledow w Netbeans? (wersja 6.5.1)

    IP: 188.33.150.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13 (.NET CLR 3.5.30729)

  • Adamelloo

    #20 Adamelloo 2009-10-17 14:10:21 0

    Dzięki za fajny kurs.

    Mam jednak uwagę... może zależy to od wersji Netbeansa....

    Metoda

    "public void paintComponent(Graphics g)..."

    Nie dzialala mi... program nie podkreslal bledow.

    zaczelo dzialac dopiero po zamienieniu jej na

    "public void paint(Graphics g)..."

    IP: 89.79.24.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.0.14) Gecko/2009082707 Firefox/3.0.14 (.NET CLR 3.5.30729)

  • pete

    #21 pete 2009-11-08 05:24:02 0

    gratulacje

    IP: 193.34.112.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)

  • wojtas

    #22 wojtas 2010-03-12 15:35:34 0

    świetny teks, dzieki:)

    IP: 83.18.76.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8

  • majkeluam

    #23 majkeluam 2010-07-11 22:07:03 0

    dobry art, mijaja lata, a on wciąz ułatwia życie raczkującym (:

    IP: 89.191.130.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4

  • punta

    #24 punta 2010-09-05 10:21:07 0

    Dzięki! Bardzo dobrze napisany tut.!

    IP: 89.74.233.[...] Opera/9.80 (Windows NT 5.1; U; pl) Presto/2.2.15 Version/10.10

  • Zbgi

    #25 Zbgi 2011-03-05 11:33:45 0

    Witam,

    kurs fajny lecz przytoczone przykłady nie chcą się odtwarzać. W część I po utworzeniu aplikacji nie chciała się odtworzyć i teraz tutaj mam dokładnie to samo.

    Używam NetBeans IDE 6.9.1 pod Windows XP

    IP: 178.56.79.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 GTB7.1 ( .NET4.0E)

  • Zbigi

    #26 Zbigi® 2011-03-05 11:37:51 0

    W poprzednim poscie zjadło komunikat wyświetlany przez Netbeans: No main classes found

    IP: 178.56.79.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 GTB7.1 ( .NET4.0E)

  • Zbigi

    #27 Zbigi® 2011-03-07 16:13:05 0

    proponuje tak zmodyfikować funkcje mouse clicked

    public void mouseClicked(MouseEvent me){

    int xme=me.getX();

    int yme=me.getY();

    int przycisk=me.getButton();

    int a=(int)(xme/200);

    int b=(int)(yme/150);

    xCz=a*200;

    yCz=b*150;

    int n=(a+1)+b*3;

    if(przycisk==1) {

    stary=n;

    }else if(przycisk==3){

    nowy=n;

    zamiana();

    }

    IP: 79.162.125.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 GTB7.1 ( .NET4.0E)

  • tMD

    #28 tMD 2012-02-04 14:27:28 0

    Mam problem. Używam NetBeans 7.1, skopiowałem cały kod w odpowiednio stworzone klasy i applet w ogóle się nie uruchamia.

    Otrzymuję następujący komunikat . Oczywiście rozumiem fakt, że nie ma tutaj klasy main. Autor w kursie tworzy klasę init. Mimo zmiany init na main wraz otrzymuję powyższy komunikat błędu. Byłbym wdzięczny za pomoc w rozwiązaniu ów problemu.

    Z góry dziękuję.

    IP: 79.163.27.[...] Opera/9.80 (Windows NT 6.1; U; Edition Campaign 21; pl) Presto/2.10.229 Version/11.61

Uwaga! Możesz zarejestrować się w serwisie i w ten sposób zarezerwować swój nick oraz ominąć konieczność ciągłego odczytywania wyrazów.

Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka (słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.

Polecane książki

Czytaj Webhosting

Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.

Zarejestruj domenę

Sprawdź dostępność swojej domeny:

.pl: 0 zł   .com: 19.90 zł
.com.pl: 0 zł   .eu: 19.90 zł