Java, ProgrammingJavaLecture2

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

1

Programowanie w Java 2

Programowanie w Java przy użyciu JDK

Opis JDK firmy SUN

Koncepcja tworzenia i wykonania programu

Prosty kod źródłowy programu

Kompilacja

Wykonanie na VM

Dokumentowanie, debugowanie, użycie innych narzędzi JDK

Co to jest appet

Koncepcja tworzenia i wykonania appletu

Prosty kod źródłowy appletu

Kompilacja

Wywołanie z dokumentu HTML

JDK appletviewer

Dla Specjalizacji Systemy Informacyjne w

Gospodarce

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

2

Programowanie w Java przy
użyciu JDK

SUN JDK

Java Developers Kit jest podstawowy zestawem do

tworzenia aplikacji w Javie

Trochę prymitywny interfejs linii poleceń JDK jest

zwykle zastępowany przez graficzny IDE (n.p.

JBuilder, ForteforJava)

Na początku użyjemy JDK aby

Zaznajomić się z poszczególnymi krokami procesu

przetwarzania kodu źródłowego i wykonywania

programu na VM

Uniknąć konieczności analizowania bardziej

skomplikowanego kodu Java niezbędnego dla

najprostszej aplikacji generowanej w IDE

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

3

SUN JDK

Bezpłatnie dostępna implementacja Java VM,
kompilatora, narzędzi, i bibliotek API
(Application Programing Interface) dostępna
dla wielu systemów i procesorów na stronach
firmy SUN Microsystems

http://

www.sun.com

http://java.sun.com

Dostarczana jest także z JBuilder IDE

JBuilder5/jdk.1.3.1 i ta wersja jest zainstalowa na
komputerach

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

4

Składniki JDK

Javac

Java

Appletviewer

Javadoc

Jdb

Javah

javap

Kompilator

Interpretator maszyny wirtualnej

Wykonuje bytecody z plików klas
(.class)

Interpretator maszyny wirtualnej dla
apletów

Wykonuje bytecody z plików klas
zawartych w dokumentach HTML

Narzędzie do tworzenia dokumentacji
w html z plików kodu

Debuger

Narzędzie do generowanie interfajsów
umożliwiających wołanie procedur
javy z kodu napisanego w C

Dissasembler – narzędzie pozwalające
prezentować programiście znaczenie
bytecodes (używane do znajdowania
niektórych typów błędów)

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

5

Proces powstawania
programu Java i
wykonywania na VM

Kroki

Pisanie
programu

Kompilacja

Wykonanie
na Virtualnej
Maszynie

Edytor Tekstu

Kod w Java

Text file (*.java)

javadoc

javac

Kod dla VM

Java class files (*.class)

java

Output

programu

javah

Plik (Header files)

nadłówka dla C/C++

Dokumentacja

HTML

Kompilacja

Pisanie

programu

Wykonanie

na Virtualnej

Maszynie

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

6

Najprostszy program

Kod w pliku

TestDrive.java

/** Najprostszy Java program */
public class TestDrive {
/* main jest główną funkcją programu */
public static void main(String[] argv) {

System.out.println("JDK Test Drive!");
// Wyświetla tekst w terminalu

}
}

Kompilacja

javac TestDrive.java

( pod windows „C:\Program Files\JBuilder6\jdk1.3.1\bin\javac”

TestDrive.java )

lub
javac –verbose TestDrive.java

Rezultat

Kody dla java VM w pliku
TestDrive.class

Analogie i różnice z

Pascalem

{ -> begin

} -> end

Typ zmienna -> zmienna: typ

Void oznacza funkcję nie

zwracającą wyniku ->

procedure w Pascalu

Static oznacza funkcję

globalną

Main zastrzeżona nazwa

funkcji od której rozpoczyna

się program

String[] -> open array of

string w Pascalu

Argv zawiera argumenty z linii

poleceń

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

7

Wykonanie programu i
działanie narzędzi

Wykonanie

java TestDrive

( pod windows „C:\Program Files\JBuilder6\jdk1.3.1\bin\java” –cp

„C:\Moje dokumenty\Lectures\Java\Lecture2\example1;
TestDrive

Opcjonalny średnik ; oddziela gdy więcej ścieżek )

lub
java –prof TestDrive

Dokumentacja

javadoc TestDrive.java

Przykład komentarzy w kodzie
/** dokumentacja */
// nie do dokumentacji
/* też nie do dokumentacji */

Inne

Javah TestDrive
Javap TestDrive

Java musi być w ścieżce lub

należy podać n.p.

c:/jdk1.3.1./java

Można też podać ścieżkę do

pliku z bytecodes ale nie

rozszerzenie .class

Javadoc generuje

dokumentacje

AllNames.html

Tree.html

Packages.html

TestDrive.html

....

Komentarze zaczynające się

od /** są włączane do

dokumentacji

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

8

Proces powstawania
appletu Java i
uruchamiania w
przeglądarce

Kroki

Pisanie appletu

Kompilacja

Pisanie dokumentu HTML

zawierającego odwołanie do
appletu

Definiującego „okienko” dla
appletu w oknie dokumentu

Wykonanie na Virtualnej
Maszynie Przeglądarki
WWW

Sam applet bez dokumentu
można obejrzeć przy
pomocy narzędzia
appletviewer

Edytor Tekstu

Kod w Java

Text file (*.java)

javadoc

javac

Kod dla VM

Java class files (*.class)

Przegl

ą darka

z

Java VM

HTML Dokument

z appletem

javah

Plik (Header files)

nadłówka dla C/C++

Dokumentacja

HTML

Kompilacja

Pisanie

programu

Edytor Tekstu

HTML

dokument

Text file (*.html)

appletviewer

Output

appletu

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

9

Wywołanie Appletu z
dokumentu HTML

Java VM wbudowane w
przeglądarki umożliwia
automatyczne pobieranie z
internetu specjalnych
graficznych programów Java
(appletów) i bezpieczne ich
wykonywanie

Sposób Zapisu w kodzie HTML
odwołań jest podobny do
zapisu innych odwołań (links)

<A HREF=

http://java.sun.

com”>

Link do strony Javy</A>

<APPLET CODE=„Clock.class”
WIDTH=200 HEIGHT=100>Tu
będzie Applet Zegarka</APPLET>

Dodatkowo Applety mogą

pobierać z dokumentu HTML

parametry określające sposób

działania appletu

<APPLET CODE=„Clock.class”

WIDTH=200 HEIGHT=100>Tu

będzie Applet Zegarka

<PARAM NAME=color

VALUE=„blue”>

Wyświetl zegarek z niebieskim

tłem</APPLET>

Przeglądarka z Java VM ignoruje

wszystko inne niż <PARAM ...>

pomiędzy znacznikami

<APPLET...> ...a </Applet>

Przeglądarka bez Java VM ignoruje

<APPLET..> i <PARAM ..> a

wyświetla wszystko inne

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

10

Kroki związane z
uruchomieniem Appletu

1.

Przeglądarka rezerwuje „okienko” w oknie dokumencie

rozmiar podany przez parametry WIDTH i HEIGHT)

2.

Pobiera parametry z dokumentu HTML

Przetworzenie danych w <PARAM ...>

3.

Zostaje uruchomiona Java VM i applet zostaje pobrany z dysku lub z sieci

4.

Kod Appletu zostaje załadowany z pliku z rozszerzeniem .class, sprawdzony, i
uruchomiony

5.

Procedura Appletu init zostaje wykonana (tylko raz)

6.

Procedura Appletu start zostaje wykonana

Procedura start zostaje wykonana przy każdym „powrocie” użytkownika d dokumentu
HTML

7.

Wykonanie procedury paint powoduje wyświetlenie okna appletu

Procedura paint jest wywoływana często n.p. Przy skrolowaniu okna

8.

Procedura stop jest wołana gdy użytkownik przechodzi do innego dokumentu

N.p. Powoduje zatrzymanie zegara w oknie appletu, zostaje on ponownie uruchomiony
przez procedurę start

9.

Procedura destroy jest wykonywana gdy dokument zostaje zamknięty i Applet
jest usuwany z pamięci

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

11

Różnice i podobieństwa
Appletu i programu Java

Program

Grafika

opcja

Ładowanie

Wywołanie z linii komend lub
skryptu

Z pliku lokalnego

przez system operacyjny

Dane

Z linii komend

Wymagane składniki

Procedura main

Applet

Grafika

Wymagana

Ładowanie

Link w dokumencie HTML

Protokół Http

dysku lokalnego lub z internetu

Niezależne od systemu

operacyjnego

Dane

Z parametrów zapisanych w

dokumencie HTML

Wymagane składniki

Procedura init

Start

paint

Stop

destroy

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

12

Prosty kod HTML
„wywołujący” applet

HTML dokument

<HTML>
<HEAD>
<TITLE>Example of simple HTML document with applet

link</TITLE>

</HEAD>
<BODY>
<H1>Example of HTML document with applet</H1>
<p>
<APPLET CODE="FliledBox.class" WIDTH=200

HEIGHT=100>

<p>Here applet should be dispayed</p>
<PARAM NAME=color VALUE="blue">
<p>Applet color parameters can be "blue", "red" or,

"green"</p>

</APPLET>
</BODY>
</HTML>

Opis elementów

<HTML> informacja o typie dokumentu

<HEAD> informacja o dokumencie dla

przglądarki, wyszukiwarki, i.t.p.

<BODY> informacja do wyświetlenia

<H1>Tytuł głównej częsci

<p>akapit

<APPLET ... Początek sekcji appletu

<APPLET

CODE=„http://www.server.com/d1/Applet

FileName.class” definicja linku do

appletu (może być plik lokalny, jeśli w tej

samej kartotece co httml dokument to

wystarczy nazwa pliku z appletem)

<APPLET

CODE”LokalExamleApplet.class”

WIDTH=100 HEIGHT=50> zdefiniowanie

rozmiarów „okienka” zarezerwowanego

dla appletu w oknie dokumentu

<PARAM... >Sekcja definiująca

parametry appletu

</APPLET> koniec sekcji appletu

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

13

Przykład prostego appletu

Kod appletu

import java.awt.*;
import java.applet.Applet;

/** FilledBox displays a filled, colored box in the browser window.
*/
public class FilledBox extends Applet {

// This variable stores the color specified in the HTML document
Color boxColor;

/** Get the box color from the host HTML file.
*/
public void init() {

String s;

s = getParameter("color");

// the default color is gray
boxColor = Color.gray;

// we expect a parameter called color which will have
// the value red, white or blue
if (s.equals("red")) boxColor = Color.red;
if (s.equals("green")) boxColor = Color.green;
if (s.equals("blue")) boxColor = Color.blue;

}

/** Paint the box in region assigned to the applet.
Use the color specified in the HTML document.
*/
public void paint(Graphics g) {
g.setColor(boxColor);
g.fillRect(0, 0, size().width, size().height);
}

}

Opis

Import ...

Dołącza moduły do wyświetlenia grafiki

odpowiednik instrukcji uses w Delphi

public class FilledBox extends Applet {

Definiuje klasę FilledBox jako dziedziczoną z

klasy Applet (uniwersalnego wzorca appletu)

Color boxColor;

Zmienna typu Color

W Java typ piszemy przed nazwa zmiennej –

odwrotnie niż w Pascalu

Public void init()

Procedura bez argumentów

Może być wołana przez wszystkich

Jest wołana tylko raz przez przeglądarkę po

załadowaniu appletu

public void paint(Graphics g)

Procedura wołana przez przeglądarkę aby wyświetlić

obrazek applety

Wołana wielokrotnie n.p. Podczas skrolowania

dokumentu

Argumentem jest obiekt g typu Graphics zarządzający

oknem dokumentu

Metody obiektu typu Graphics użyte do wyświetlenia

kolorowego prostokąta

{ g.setColor(boxColor);

g.fillRect(0, 0, size().width, size().height);

}

{ begin,

} end

background image

15/02/02

Programowanie Java 2 Copyri
ght Marek A. Chmielowski

14

Kompilacja appletu i
dystrybucja

Applet kompilujemu tak jak każdy program n.p.

Javac FilledBoc.java

Wynikiem jest plik FilledBox.class

Uruchomienie Appletu wymaga dokumentu HTML

określającego link do appletu, rozmiar „okienka” appletu, i

ewentualnie definiującego parametry

Applet można uruchomić otwierając taki dokument w

przeglądarce implementującej Java VM

Applet można „obejrzeć” przy pomocy narzędzia SDK

appletviewer n.p.

appletviewer SimpleDocWithApplet.html

Jeśli chcemy „obejrzeć” sam applet to też musimy mieć HTML

dokument (n.p. Po to aby zdefiniować „okienko”)

Appletviewer ignoruje dane html z dokumentu i wyświetla tylko

applet


Document Outline


Wyszukiwarka

Podobne podstrony:
Java Programowanie Sieciowe Podstawy Javy id 226331
Java, Programowanie W Jezyku Java
Java, ProgrammingJavaLecture4
Java Programowanie, biblioteki open source i pomysly na nowe projekty
java programming unleashed [ EN ] Java2
Java, ProgrammingJavaLecture1
Java, ProgrammingJavaLecture5
Zeszyt Java, Programowanie obiektowe i strukturalne, Java
Java i Programowanie w Sieci Internet
Generics in the Java Programming Language
Sun Java Training SL 275 Java Programming Language Overheads (Sun Microsystems, 2000)
Java Programowanie, biblioteki open source i pomysly na nowe projekty
Java programy
143030393X {72191ACF} Fast Track to Sun Certified Java Programmer (SCJP) 5 0 Upgrade Exam [Tong 2006
Java Programowanie biblioteki open source i pomysly na nowe projekty
Java Programmer 2 exam objectives

więcej podobnych podstron