Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Prezentarea interfetei Java API

java



+ Font mai mare | - Font mai mic



Prezentarea interfetei Java API

Pentru cei care abia astepta sa inceapa lucrul cu Java acest capitol va fi un motiv in plus de frustrare .Structura limbajului Java a fost prezentata in partea a treia , "Anatomia limbajului Java ".Odata cu partea a patra ,"Interfata Java de programare a aplicatiilor ",incepe distractia .A venit vremea sa completam structurile invatate cu cateva lucruri interesante cu cateve lucruri interesante ,cum ar fi imagini grafice sau clicuri de mouse.In capitolul de fata si in urmatoarele patru sunt discutate in detaliu posibilitatile oferite de obiectele gata construite in Java.



Pachetele din interfata de programare a aplicatiilor (API-Aplication Programing Interface) contin clase si interfete pentru construirea aplicatiilor si miniaplicatiilor .Vom trece in revista toate pachetele disponibile in momentul elaborarii acestei carti.

Un alt element cheie prezentat in acest capitol este modalitatea de citire a documentatiei on-line pentru interfata Java API si de folosire a acesteia .Veti afla cum sa creati un apel de biblioteca cu ajutorul documentatiei si cum sa interpretati rezultatele obtinute.

Pachetele din interfata Java API

Bibliotecile Java reprezinta grupuri de clase gata scrise ,puse la dispozitia programatorului. In alte limbaje de programare , aceste proceduri se numesc apeluri de servicii sistem (system calls ) sau apeluri de biblioteci librarycalls) si sunt folosite pentru accesul la data sau ora sistemului sau pentru interogarea unui dispozitiv de intrare in legatura cu tipul acestuia .Bibliotecile Java reprezinta o resursa bogata de functionalitati pentru programatori.

Bibliotecile sunt grupate in pachete -colectii de biblioteci de clase sau de alte pachete (A se vedea capitolul 7 ,"Cnstruirea obiectelor " ,pentru o prezentare detaliata a pachetelor si a bibliotecilor de clase.)

Capitolul de fata prezinta conceptul general de biblioteci Java si incearca sa va familiarizeze cu modul de folosire a acestora .puteti sa obtineti detalii despre fiecare clasa in urmatoarele patru capitole.

Imaginati-va acest aspect al limbajului Java ca pe o piramida .Pramida in sine este chiar pachetul , iar blocurile care o compun sunt biblioteci si clase.

Blocul din fruntea piramidei este clasa Object .Aceasta este superclasa tuturor claselor Java. Asadar , avem o piramida care are in varf clasa Object si dedesubt ,una langa alta , toate bibliotecile de clase care asigura functionalitatea limbajului Java.

Java este astfel proiectat incat sa asigure o mare flexibilitate si sa produca rapid rezultate .Cineva a depus deje toata munca de codificare a claselor si a interfetelor ,pentru a le asigura diverse functionalitati, asa ca de ce sa reinventati roata.?De fapt ,puteti reproiecta aplicatii in care toata munca de programare se reduce la crearea variabilelor si a logicii programului prin fluxul de control.Toate celelalte aspecte sunt rezolvate prin apeluri de biblioteci ,inclusiv desenarea ecranului ,operatiile de intrare/iesire ,manipularea datelor si inchiderea legaturilor.

Pentru garantarea posibilitatii de rulare a programelor pe diferite platforme ,se recomanda folosirea intr-o masura cat mai mare a apelurilor de biblioteci .Aceste clase si interfete au fost deja testate si ,chiar daca nu sunt complet sigure ,sunt destul de aproape de obiectiv.

Structura pachetelor API

Pachetele Java sunt formate din biblioteci de clase.Java cuprinde urmatoarele pachete :

java.aplet

java.lang

java.io

java.net

java.awt

java.awt.image

jawa.awt.peer

jawa.util

De curand ,a fost adaugata o noua interfata API; cea pentru conectivitatea bazelor de date (Java Database Connectivity API). Aceasta interfata poate fi folosita pentru conectarea bazelor de date prin intermediul interogarilor SQL. Ea nu este inclusa in setul de dezvoltare Java(JDK), dar poate fi preluata de la situl Web al firmeiSun. In acest moment ,adresa la care o puteti gasi este https://www.javasoft.com/jdbc/

Pachetele sunt importate in codul programelor cu urmatoarea comanda:

Import java.awt.*; //importa pachetul java.awt si toate pachetele acestuia

Java evalueaza instructiunile de import odata cu codul programului si importa numai bibliotecile , clasele si interfetele folosite in program . Ca urmare nu apar suprasarcini decat daca sunt importate mai multe clase decat este necesar.Totusi ,acest lucru poate crea confuzie la intretinerea ulterioara a codului. In plus ,importul mai multor pachete sau biblioteci decat este necesar incetineste ritmul de compilare .

In sectiunile urmatoare , sunt prezentate scurte descrieri ale pachetelor Java si liste cu interfete si clase din fiecare pachet. Acestea va vor ajuta sa cunoasteti mai bine continutul pachetelor. In celelalte capitole din partea a patra sunt prezentate elemente specifice fiecarui pachet, ilustrate cu numeroase exemple de folosire a claselor.

Java.lang

Pachetul java.lang este importat automat la compilare in fiecare clasa. Nu este necesar sa il importati explicit .

Pachetul java.lang contine clasele care definesc elementele fundamentale ale limbajului Java.(Acestea au fost discutate in capitolul 6. "Elementele de baza ale limbajului Java".) S-ar putea ca listele interfetelor si claselor din tabelele 9.1 si 9.2 sa vi se para cunoscute dupa ce ati aflat in capitolul 6 despre tipurile de date primitive.

Tabelul 9.1 .Interfetele din pachetul java. lang

Interfata

Folosire

Clonable

Indica un obiect care poate fi copiat sau clonat

Runnable

Indica un obiect care poate implementa fire de executie

Tabelul 9.2 .Clasele din pachetul java. lang

Numele clasei

Descriere

Boolean

Obiect care reprezinta tipul de date primitive boolean

Character

Obiect care reprezinta tipul de date primitive character

Class

Contine reprezentarile tuturor tipurilor de clase

ClassLoader

Clasa abstracta care specifica modul de incarcare a claselor in timpul executiei

Double

Obiect care reprezinta tipul de date primitive double

Float

Obiect care reprezinta tipul de date primitive float

Integer

Obiect care reprezinta tipul de date primitive integer

Long

Obiect care reprezinta tipul de date primitive long

Math

Biblioteca de functii matematice standard

Number

Superclasa abstracta pentru toate tipurile de numere

Object

Superclasa abstracta pentru toate celelalte tipuri de clase

Process

Biblioteca pentru metodele de control al proceselor

Runtime

Biblioteca pentru metodele de acces in timpul executiei

SecurityManager

Clasa abstracta care contine sabloanele metodelor pentru politica de securitate

String

Superclasa pentru toate obiectele de tip sir de caractere

StringBuffer

Superclasa pentru toate obiectele de tip

System

Biblioteca de metode pentru interfata cu sistemul

Thread

Superclasa pentru toate obiectele si metodele firelor de executie

ThreadGroup

Superclasa pentru gruparea mai multor fire de executie

throwable

Superclasa pentru toate obiectele si metodele de tratare a erorilor

java.util

java .util este biblioteca de obiecte pentru utilitarele de sistem . In acest pachet , veti gasi clasa Date ,continand un numar mare de metode , clasa Random , un generator de numere aleatoare si clasa Vector , folosita pentru crearea matricelor extensibile de obiecte. In tabelele 9.3 si 9.4 sunt prezentate listele claselor si interfetelor din pachetul java.util.

Tabelul 9.3. Interfetele din pachetul java . util

Interfata

Folosire

Enumeration

Indica un obiect care poate implementa metode pentru enumerarea unui set de valori

Observer

Indica un obiect care poate fi urmarit cu ajutorul clasei Observer

Tabelul 9.4 . Clasele din pachetul java.util

Numele clasei

Descriere

BitSet

Biblioteca pentru operatii pe bit

Date

Biblioteca pentru datele calendaristice

Dictionary

Superclasa abstracta pentru tabelele hash

Hashtable

Biblioteca pentru manipularea tabelelor hash

Observable

Biblioteca pentru manipularea obiectelor Observer

Properties

Clasa pentru proprietati permanente

Random

Biblioteca pentru manipularea numerelor aleatoare

Stack

Biblioteca pentru manipularea stivei

StringTokenizer

Biblioteca pentru manipularea elementelor de tip sir de atomi (elemente componente )

Vector

Biblioteca pentru manipularea vectorilor

java . io

java . io este biblioteca pentru obiectele folosite in cadrul operatiilor de intrare / iesire dintre Java , pe de o parte ,si tastatura , ecran , imprimanta , fisiere de pe hard-disk sau retea ,pe de alta parte. Tot in acest pachet se afla si interfetele pentru fluxuri si fisiere. In tabelele 9.5 si 9.6 sunt prezentate listele interfetelor si claselor din pachetul java . io .

Tabelul 9.5 . Interfetele din pachetul java . io

Interfata

Folosire

DataInput

Sablon pentru clasele care implementeaza metodele fluxurilor de intrare

DataOutput

Sablon pentru clasele care implementeaza metodele fluxurilor de iesire

FileNameFilter

Sablon pentru clasele care implementeaza metodele de filtrare a numelor de fisiere

Tabelul 9.6 . Clasele din pachetul java . io

Numele clasei

Descriere

BufferedInputStream

Flux de intrare care foloseste o zona tampon de memorie(buffer ) pentru accelerarea operatiilor de citire

BufferedOutputStream

Flux de iesire care foloseste o zona tampon de memorie(buffer ) pentru accelerarea operatiilor de scriere

ByteArrayInputStream

Flux de intrare citit dintr-o matrice de octeti

ByteArrayOutputStream

Flux de iesire scris intr-o matrice de octeti

DataInputStream

Flux de intrare generic pentru octeti

DataOutputStream

Flux de iesire generic pentru octeti

File

Reprezentare independenta de platforma a numelor de fisiere

FileDescriptor

Flux de intrare citit dintr-un descriptor de fisier

FileInputStream

Flux de intrare citit dintr-un fisier

FileOutputStream

Flux de iesire scris intr-un fisier

FilterInputStream

Clasa abstracta pentru fluxurile de intrare filtrate

FilterOutputStream

Clasa abstracta pentru fluxurile de iesire filtrate

InputStream

Superclasa pentru toate clasele de fluxuri de intrare

LineNumberInputStream

Flux de intrare care recunoaste numerele de linii

OutputStream

Superclasa pentru toate clasele de fluxuri de iesire

PipedInputStream

Flux de intrare pentru citirea datelor dintr-un alt proces

PipedOutputStream

Flux de iesire pentru scrierea datelor intr-un alt proces

Printstream

Flux de iesire pentru trimiterea datelor formatate catre un dispozitiv de iesire

PushbackInputStream

Flux de intrare care permite trimiterea unui singur caracter inapoi in flux

RandomAccesStream

Flux de intrare care permite accesul aleator la un fisier

SeqeuenceInputStream

Flux de intrare care permite citirea secventiala a mai multor fluxuri de intrare

StreamTokenizer

Metode pentru transformarea unui flux de intrare in atomi (elemente componente )

StringBuffer InputStream

Flux de intrare citit dintr-o clasa StringBuffer

java . net

Biblioteca java . net contine rutinele care interactioneaza cu protocoalele de retea. Obiectele din aceasta biblioteca pot interactiona cu protocoale precum "lacasuri"(socket) ,Telnet ,FTP,NNTPsi HTTP. In tabelele 9.7 si 9.8 sunt prezentate listele claselor si interfetelor din pachetul java . net.

Tabelul 9.7 . Interfetele din pachetul java . net

Interfata

Folosire

ContentHandlerFactory

Sablon pentru clasele care implementeaza proceduri de tratare a continutului

SocketImplFactory

Sablon pentru clasele care implementeaza proceduri de tratare a lacasurilor

URLStream HandlerFactory

Sablon pentru clasele care implementeaza proceduri de tratare a adreselor URL

Tabelul 9.8 . Clasele din pachetul java . net

Numele clasei

Descriere

ContentHandler

Clasa pentru crearea obiectelor din adresele URL

DatagramPacket

Clasa pentru reprezentarea pachetelor de retea

DatagramSocket

Clasa pentru reprezentarea lacasurilor de retea

InetAddress

Biblioteca pentru manipularea adreselor Internet

ServerSocket

Biblioteca pentru implementarea lacasurilor server

Socket

Biblioteca pentru implementarea lacasurilor client

SocketImpl

Superclasa abstracta pentru toate tipurile de lacasuri

URL

Biblioteca pentru manipularea adreselor Internet

URLConnection

Clasa abstracta pentru manipularea conexiunilor URL

URLEncoder

Metode pentru transformarea in atomi a sirurilor de caractere ce reprezinta adrese URL

URLStreamHandler

Clasa abstracta pentru deschiderea unui flux la o legatura URL

java . awt

AWT este prescurtarea de la Abstract Windowing Toolkit(Set abstract de instrumente pentru gestionarea ferestrelor. Asa cum sugereaza si numele bilbiotecile AWT cuprind partile de interfata cu utilizatorul (GUI) ale limbajului Java, inclusiv obicte precum casetele , butoanele ,chenarele si meniurile. In tabelele 9.9 si 9.10 sunt prezentate listele claselor si interfetelor din pachetul java . awt

Tabelul 9.9 . Interfetele din pachetul java . awt

Interfata

Folosire

LayoutManager

Sablon pentru clasele care implementeaza containerele de aranjare in pagina

MenuContainer

Sablon pentru clasele care implementeaza containerele de meniu

Tabelul 9.10 . Clasele din pachetul java . awt

Numele clasei

Descriere

BorderLayout

Metode pentru manevrarea chenarelor

Button

Metode pentru manevrarea obiectelor de tip Button

Canvas

Sablon generic pentru implementarea texturilor

CardLayout

Metode pentru manevrarea obiectelor de tip carti de vizita de tip Rolodex

Checkbox

Metode pentru manevrarea obiectelor de tip Checkbox (casete de validare)

CheckboxGroup

Metode pentru manevrarea grpurilor de obiecte de tip Checkbox

CheckboxMenuItem

Metode pentru manevrarea meniurilor in stil Checkbox

Choice

Metode pentru manevrarea optiunilor din meniurile derulante

Color

Metode pentru manevrarea culorilor

Component

Clasa generica pentru implementarea componentelor AWT

Container

Clasa generica pentru implementarea containerelor AWT

Dialog

Metode pentru manevrarea casetelor de dialog

Dimension

Clasa de reprezentare pentru inaltime si latime

Event

Metode pentru manevrarea evenimentelor de intrare (aparute la introducerea de informatii de catre utilizator)

FileDialog

Metode pentru manevrarea unei casete de dialog pentru fisiere

FlowLayout

Metode pentru manevrarea unei secvente de obiecte de tip Window

Font

Metode pentru manevrarea fonturilor

FontMetrics

Metode pentru manevrarea caracteristicilor fonturilor

Frame

Metode pentru manevrarea cadrelor

Graphics

Superclasa abstracta pentru toate obiectele de tip Graphics

GridBagConstraints

Metode pentru stabilirea unor restrictii in legatura cu asezarea in pagina a obiectelor de tip GridBag

GridBagLayout

Metode pentru plasarea obiectelor dintr-o fereastra intr-un anumit mod

GridLayout

Metode pentru manevrarea containerelor de aranjare a grilei

Image

Clasa abstracta pentru implementarea imaginilor specifice platformelor

Insets

Metode pentru manevrarea continutului containerelor

Label

Metode pentru manevrarea etichetelor

List

Metode pentru manevrarea listelor

MediaTracker

Metode pentru urmarirea obiectelor media

Menu

Metode pentru manevrarea meniurilor

MenuBar

Metode pentru manevrarea barelor de meniuri

MenuComponent

Superclasa pentru toate obiectele de meniu

MenuItem

Metode pentru manevrarea elementelor de meniu

Panel

Clasa generica pentru implementarea containerelor de panouri

Point

Clasa de reprezentare pentru puncte

Polygon

Clasa de reprezentare pentru poligoane

Rectangle

Clasa de reprezentare pentru dreptunghiuri

Scrollbar

Metode pentru manevrarea barelor de derulare

TextArea

Metode pentru manevrarea zonelor de text

TextComponent

Superclasa pentru toate obiectele de tip text

TextField

Metode pentru manevrarea unui singur rand de text

Toolkit

Clasa folosita pentru asocierea pachetului AWT cu o implementare specifica

Window

Metode pentru manevrarea unui obiect de tip Window

Java.awt.image

Asa , cum sugereaza si numele , java.awt.image este un subpachet al pachetului java.awt. Clasele pe care le contine trateaza imaginea de pe un ecran ca un intreg , spre deosebire de cele din pachetul java.awt ,care luau in considerare elementele grafice in mod individual . In tabelele 9.11 si 9.12 sunt prezentate listele claselor si interfetelor din pachetul java . awt.image.

Tabelul 9.11 . Interfetele din pachetul java . awt . img

Interfata

Folosire

ImageConsumer

Sablon pentru receptionarea imaginilor de la un program producator

ImageObserver

Sablon pentru receptionarea informatiilor de actualizare a imaginilor

ImageProducer

Sablon pentru producerea imaginilor pentru un program consumator

Tabelul 9.11 . Clasele din pachetul java . awt .image

Interfata

Descriere

ColorModel

Clasa abstracta pentru convertirea diferitelor modele de culoare

CropImageFilter

Metode pentru decuparea imaginilor

DirectColorModel

Metode pentru transformarea modelelor de culoare

FilteredImageSource

Metode pentru aplicarea filtrelor la o imagine

ImageFilter

Metode pentru implementarea unui filtru de imagini

IndexColorModel

Metode pentru transformarea modelelor de culoare

MemoryImageSource

Metode pentru crearea imaginilor prin folosirea unei matrice de pixeli

PixelGrabber

Metode pentru extragerea unui subset intr-o imagine

RGBImageFilter

Metode pentru implementarea unui filtru RGB

java . awt . peer

java.awt.peer este tot un subpachet al pachetului java.awt. El cuprinde numai interfete .(A se vedea tabelul 9.13). Este folosit impreuna cu java.awt pentru a asigura ferestrelor elemente grafice dependente de platforma. Interpretorul Java trateaza apelurile in functie de platforma folosita.

Tabelul 9.9 . Interfetele din pachetul java . awt .peer

Interfata

Folosire

ButtonPeer

Sablon nativ pentru manipularea obiectelor de tip Button

CanvasPeer

Sablon nativ pentru implementarea texturilor

CheckboxPeer

Sablon nativ pentru manipularea obiectelor de tip Checkbox

CheckboxMenuItemPeer

Sablon nativ pentru manipularea meniurilor stil Checkbox (casete de validare)

ChoicePeer

Sablon nativ pentru manipularea optiunilor din meniurile derulante

ComponentPeer

Sablon nativ pentru implementarea componentelor AWT

ContainerPeer

Sablon nativ pentru implementarea containerelor AWT

DialogPeer

Sablon nativ pentru manipularea casetelor de dialog

FileDialogPeer

Sablon nativ pentru manipularea casetelor de dialog pentru fisiere

FramePeer

Sablon nativ pentru manevrarea cadrelor

LabelPeer

Sablon nativ pentru manipularea etichetelor

ListPeer

Sablon nativ pentru manipularea listelor

MenuBarPeer

Sablon nativ pentru manipularea barelor de meniuri

MenuComponentPeer

Sablon nativ pentru manipularea componentelor de meniu

MenuPeer

Sablon nativ pentru manipularea meniurilor

MenuItemPeer

Sablon nativ pentru manipularea elementelor de meniu

PanelPeer

Sablon nativ pentru implementarea containerelor de panouri

ScrollbarPeer

Sablon nativ pentru manipularea barelor de derulare

TextAreaPeer

Sablon nativ pentru manipularea zonelor de text

TextComponentPeer

Sablon nativ pentru manipularea componentelor de text

TextFieldPeer

Sablon nativ pentru manipularea unui singur rand de text

WindowPeer

Sablon nativ pentru manipularea obiectelor de tip Window(fereastra)

Java .applet

Pachetul java . applet contine o clasa specifica miniaplicatiilor -Applet- si cateva interfete. Clasa Applet contine metodele init(), start() ,stop(), destroy() ,despre care am discutat in capitolul 7. Cu alte cuvinte ,pachetul java .applet este folosit pentru controlul structurii si miniaplicatiilor. Tabelul 9.14 contine lista interfetelor din acest pachet.

Tabelul 9.14 . Interfetele din pachetul java . applet

Interfata

Folosire

AppletContext

Sablon pentru obtinerea informatiilor despre mediul unei aplicatii

AppletStub

Sablon folosit pentru implementarea unui program de vizualizare a miniaplicatiilor

AudioClip

Sablon pentru implementarea obiectelor audio

sun.tools.debug

Bibliotecile sun.tools.debug sunt folosite impreuna cu programele executabile Java care permit depanarea , cum ar fi javac_g. Acestea contribuie la depanarea programelor Java cu ajutorul unor instrumente de lucru precum depanatorul Java (jdb). Interfata sun.tools.debug ,DebugerCallback ,este un sablon pentru implementarea comunicatiei intre o aplicatie si un depanator. Clasele din acest pachet sun prezentate in tabelul 9.15.

Tabelul 9.15 . Clasele din pachetul sun.tools.debug

Numele clasei

Descriere

RemoteArray

Metode pentru depanarea obiectelor de tip array(matrice)

RemoteBoolean

Metode pentru depanarea obiectelor de tip boolean

RemoteByte

Metode pentru depanarea obiectelor de tip byte (octet)

RemoteChar

Metode pentru depanarea obiectelor de tip char (caracter)

RemoteClass

Metode pentru accesul la o clasa din cadrul depanatorului

RemoteDebuger

Metode pentru instantierea unui depanator

RemoteDouble

Metode pentru depanarea obiectelor de tip double

RemoteField

Metode pentru accesul la variable si metode prin intermediul unui depanator

RemoteFloat

Metode pentru depanarea obiectelor de tip float (numar real)

RemoteInt

Metode pentru depanarea obiectelor de tip int (numar intreg)

RemoteLong

Metode pentru depanarea obiectelor de tip long

RemoteObject

Metode pentru accesul la obiecte prin intermediul unui depanator

RemoteShort

Metode pentru depanarea obiectelor de tip short

RemoteStackFrame

Metode pentru accesul la cadrul de stiva al unui fir de executie suspendat

RemoteStackVariable

Metode pentru accesul la variable de stiva prin intermediul unui depanator

RemoteString

Metode pentru depanarea sirurilor de caractere

RemoteThread

Metode pentru depanarea firelor de executie

RemoteThreadGroup

Metode pentru depanarea obiectelor de tip threadgroup (grup de fire de executie)

RemoteValue

Metode pentru accesul la valorile variabilelor prin intermediul unui depanator

StackFrame

Clasa de impachetare pentru cadrul de stiva al unui fir de executie suspendat

Folosirea interfetei Java API

Dupa ce am trecut in revista pachetele Java , haideti sa vedem ce utilitate au ele pentru programatori . Bibliotecile de clase Java constituie baza pentru majoritatea operatiilor ce trebuie efectuate intr-o aplicatie, cum ar fi : desenarea pe ecran , obtinerea informatiilor de utilizator, afisarea acestora, efectuarea corecturilor, manipularea datelor de intrare ,uneori chiar stocarea datelor si asa mai departe. Ramane in sarcina programatorului sa decida ce clase sa foloseasca pentru a-si atinge scopul.

Incepatorii in programarea in Java au uneori impresia ca este mai simplu sa scrie singuri tot codul necesar sau sa invete cateva clase de baza si sa le ignore pe celelalte , decat sa se familiarizeze cu numarul imens de clase disponibile in Java. Aceasta ar fi o severa atitudine de autoconstringere -o parte din procesul de invatare a claselor Java o reprezinta familiarizarea cu constructorii, metodele si variabilele.

Siturile firmei Sun Microsystemspun la dispozitia tuturor utilizatorilor Webun set complet de documentatie despre interfata Java API. Adresele acestor site-uri sunt:

https://java.sun.com

si

https://www.javasoft.com

Documentatia este disponibila atat sub forma unor pagini Web ce pot fi parcurse cu un browser ,cat si sub forma de fisiere PostScript, care sunt imagini ale paginilor Web de pe ecran. Documentatia API sub forma de pagini Web furnizeaza o modalitate rapida de cautare a unor informatii. Documentatia poate fi incarcata si in alte formate cum ar fi: PostScript , HTML ,PDF. In momentul scrierii acestei carti , era disponibila la adresa:

https://www.javasoft.com/java.sun.com/newdocs.html

Structura documentatiei Web referitoare la interfata API

Aceasta sectiune este un ghid sumar pentru utilizarea paginilor Web de la situl firmei Sun. Siturile se schimba mereu , asa incat nu trebuie sa va mirati daca aceste instructiuni nu mai corespund in momentul in care cititi cartea. Ca intotdeauna , diferentele pot fi mai mari sau mai mici.

Prima parte a acestei sectiuni trateaza structura documentatiei referitoare la pachete. La prima vedere aceasta poate parea confuza. Totusi este important sa stiti unde puteti cauta informatii in documentatia API.

Cea de-a doua parte a sectiunii contine instructiuni pas cu pas pentru obtinerea informatiilor din paginile Web si pentru modul de folosire a acestora. Secventele de cod din exemple ilustreaza implementarea acestor informatii.

Documentatia este structurata in pachete :

java.applet

java.lang

java.io

java.net

java.awt

java.awt.image

java.awt.peer

java.util

sun.tools.debug

Documentatia pentru pachete

Pagina pachetului contine indexul pentru interfete , indexul pentru variabile si indexul pentru clase. In plus , unele pachete au un index pentru exceptii si unul pentru erori.

Indexul pentru interfete este o lista a numelor de interfete din cadrul pachetului. Indexul pentru clase este o lista a numelor de clase continute in pachet. Indexul de exceptii este o lista a numelor de exceptii la care au acces clasele din pachet ; exceptiile propriu-zise sunt incluse in pachetul java.lang. Indexul de erori este o lista a numelor de erori la care au acces clasele din pachet.

Fig 9.1

Documentatia pentru interfete

Sectiunea pentru interfete contine informatii despre fiecare interfata din pachet. Intefetele multiple sunt impartite intr-o definitie a interfetei , un index de metode si definitii de metode. Interfetele pot avea si un index de variabile. Amintiti-va ca ele nu contin cod (a se vedea capitolul 7). Interfetele reprezinta structuri care urmeaza sa fie implementate de metode puse la dispozitie de firma Sun sau create de programator.

Definitia interfetei contine informatii de baza despre interfata. Aici apare declaratia interfetei si o scurta descriere a scopului acesteia. Declaratia poate include cuvantul cheie extends, care introduce interfetele pe care se bazeaza interfata curent definita. De asemenea , definitia interfetei include si o sectiune de declaratii, continand declaratia folosita pentru definirea interfetei si o descriere a utilizarilor ei posibile.

Indexul de metode furnizeaza o lista a metodelor continute de interfata (a se vedea figura 9.2). Aici sunt incluse numele metodelor, lista de parametri si o scurta descriere.

Definitiile de metode reprezinta o descriere mai detaliata a fiecarei metode din interfata. Ele includ numele metodei si declaratia metodei in interfata. Aceasta declaratie va fi folosita in implementarea interfetei.

Documentatia interfetei contine si un index de variabile. Acesta cuprinde o lista a variabilelor definite in interfata , precum si o scurta definitie a fiecareia dintre ele (a se vedea interfata java.awt.image.ImageConsumer, care foloseste mai multe variabile).

Fig 9.2

Sectiunea variabilelor va ofera mai multe informatii despre variabilele definite in interfata. Figura 9.3 este un exemplu din interfata java.awt.imge.ImageConsumer.

Fig 9.3

Documentatia pentru clase

Sectiunea claselor are informatii de referinta pentru fiecare clasa din pachet. Daca pachetul contine mai multe clase , fiecare dintre ele este impartita in sectiuni pentru mostenire , structura , definitie: index de variabile , index de constructori ,index de metode , variabile, constructori si metode.(Unele dintre aceste sectiuni pot lipsi , daca nu sunt folosite de clasa respectiva.)

Structura de mosteniri a clasei apare in partea de sus a paginii. Ea reprezinta o aplicatie grafica si de tip text a lantului de mosteniri pentru clasa respectiva. Puteti vedea un exemplu in figura 9.4.

Figura 9.4

Prezentarea grafica a structurii de mosteniri arata superclasa fiecarei clase , pana la elementul din varful ierarhiei. Dedesubt , se afla o sectiune care contine o scurta definitie a clasei si, eventual, alte informatii ,sub forma de referinte incrucisate(cross-reference). Iata cum arata o astfel de definitie:

public class Button

extends Component.

Aclass that produces a labeled button component.

Aceasta este o informatie elementara care arata cum este definita clasa si prezinta scopul acesteia. Declaratia contine cuvantul cheie extends ,urmat de clasele pe care se bazeaza clasa curenta.

Indexul de variabile este o lista a variabilelor din clasa respectiva. De exemplu, in clasa java.awt.image.ColorModel , veti gasi urmatorul index de variabile:

Variable Index

Pixel bits

Indexul de constructori este o lista a constructorilor clasei. El contine o scurta descriere a fiecarui constructor , ca in exemplul urmator,preluat din clasa java.awt.Button:

Button ()

Constructs a Button with no label.

Button (string)

Constructs a Button with string label.

Amintiti-va ca , de fapt , constructorii sunt folositi pentru crearea de noi obiecte.

Indexul de metode este o lista a metodelor din clasa respectiva. El contine o scurta descriere a fiecarei metode , ca in exemplul urmator , preluat din clasa java.awt.Button:

addNotify ()

Creates the peer of a button.

getLabel ()

Gets the label of a button.

paramString ()

Returns the parameter String of this button.

setLabel(String)

Sets the button with the specified label.

Sectiunea variabilelor contine informatii mai detaliate despre variabilele declarate in clasa respectiva. Fragmentul de cod care urmeaza este preluat din clasa java.awt.image.ColorModel:

Variables

pixel_bits

protected int pixel_bits

pixel_bits este o variabila de tip int, adica un tip de date primitiv , are nivelul de securitate protected si se numeste pixel_bits. Ca urmare , de fiecare data cand aceasta clasa este importata intr-un program Java , va fi disponibila o variabila cu numele pixel_bits.

Sectiunea constructorilor este o lista a constructorilor di biblioteca de clase. O astfel de lista o puteti vedea in secventa urmatoare de cod , preluata di clasa java.awt.Button:

Button

public Button ()

Constructs a button with no label.

Button

public Button (String label)

Constructs a button with a string label.

Parameter :

label - the button label.

Sectiunea definitiilor de metode contine lista tuturor metodelor clasei , precum si informatii detaliate despre folosirea acestora. Lista este ordonata alfabetic si include sintaxa declaratiei fiecarei metode. In aceasta sectiune, gasiti definitii detaliate ale metodelor , informatii despre lista de parametrii , lista redefinirilor, precum si referinte la metodele inrudite("See Also"). Metodele pot avea toate aceste elemente sau doar o parte adintre ele , in functie de aplicabilitate. In exemplul de mai jos, este prezentata metoda addNotify() din clasa java.awt.Button:

addNotify

public syncronized void addNotify()

Creates the peer of a button. This peer allows us to change the look of a button without changing its functionality.

Overrides:

addNotify in class Component

Definitia de mai sus contine informatii despre redefinirile metodei. In continuare , este prezentata metoda getLabel() din clasa java.awt.Button:

getLabel

public String getLabel ()

Gets the label of a button.

See also:

setLabel

Aceasta definitie contine informatii despre alte metode ale clasei (in cazul de fata , setLabel() ) , ca referinte incrucisate. Definitia metodei setLabel() include si informatii despre parametrii:

setLabel()

public void setLabel (StringLabel)

Sets the button with the specified label.

Parameters :

Label - the label to set the button with

See also:

getLabel

Documentatia pentru exceptii

Indexul de exceptii este o lista a exceptiilor folosite in pachet. In general , acestea fac parte din pachetul java.lang, care este inclus automat in orice pachet Java.

Definitia exceptiilorprezinta securitatea de acces , declaratia exacta a exceptiilor, precum si alte informatii , cum ar fi referintele incrucisate. Exemplul urmator este preluat din AWTException , apelata in pachetul java.awt.

AWTException

public class AWTException

extends Exception

Signals that an Abstract Window Toolkit exceptio has occurred.

Exceptiile fac partew din pachetul java.lang si sunt apelate explicit sub forma java.lang.Exception.

Construirea codului pe baza informatiilor din documentatie

Sectiunea precedenta v-a prezentat o imagine generala a documentatiei JavaAPI si a semnificatiei partilor sale componente. Totul este bine si frumos dar problema este ce facem cu informatiile obtinute. Aceasta ilustreaza modul de construire a codului pe baza informatiei din documentatie.

Sa presupunem ca vreti o informatie in legatura cu metoda necesara pentru distrugerea unei miniaplicatii care a fost folosita.

Gasiti documentatia java.API la adresa https://www.javasoft.com. Aici se afla pagina gazda a firmei Sun, dedicata limbajului Java. In figura 9.5 puteti vedea aceasta pagina asa cum arata ea in momentul scrierii cartii. Executati click pe pictograma API documentation.

Dupa aceea executati click pe pictograma Documentation si apoi pe pictograma Documentation for the n.n Release.

Figura 9.5

In pagina Package information , executati click pe java.applet. Acesta este locul potrivit pentru a cauta metodele care controleaya miniaplicatiile. In pagina Class information , executati click pe Applet. Sunt afisate informatii despre clasa . in figura 9.6 puteti vedea aceasta pagina.

Figura 9.6

In sectiunea Method Index ,executati click pe destroy. Va fi afisata pagina de referinta pentru metoda destroy.

Ea contine urmatoarele informatii :

destroy

public void destroy ()

Cleans up whatever resources are being held. If the applet is active it is stoped.

See also:

init , start , stop.

Acestea sunt toate informatiile de care aveti nevoie pentru scrierea codului. Secventa de cod care urmeaza creeaza si distruge instanta unei miniaplicatii:

import java.applet.*; //importa biblioteca java . applet

public class MyApplet extends Applet

}

Informatiile returnate de metoda getAppletInfo ( ) sunt stocate in variabila owner. Ele pot fi acum afisate si manevrate in diferite moduri.

Exemplul urmator transmite informatiile metodei resize ( ) ,care aprtine tot clasei java.applet.Applet. In documentatia on-line , veti gasi urmatoarele informatii:

Resize

Public void resize (int width , int height )

Request that the applet be resized.

Overrides :

Resize in class Component

Metoda resize ( ) este de tip void , ceea ce inseamna ca nu returneaza nici un fel de informatii. Ea trebuie sa primeasca parametrii width si height (latimea si inaltime) pentru a da rezultate. Iata un exemplu de folosire a metodei:

String owner;

Int howTall = 3 , howwide=7;

AnApplet.resize (howtall, howwide);

Owner = anapplet.GetAppletInfo ( );

System.out.println("informatiile despre miniaplicatie sunt"+owner)

Rezumat

Acest capitol prezinta pachetele din interfata Java.api si modul de obtinere a informatiilor din paginile web ale firmei Sun. Din momentul in care stiti unde sa cautati informatiile de care aveti nevoie si cum sa le folositi, vi se deschid multe posibilitati in Java. Urmatoarele patru capitole trateaza in detaliu aceste pachete si prezinta mai multe exemple de folosire a interfetei Java.API.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1177
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved