Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java...

116
Jour 2 1 Jour 2

Transcript of Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java...

Page 1: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 1

Jour 2

Page 2: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 2

Environnement standard

• Commandes de base

• javac (compilateur)

• java (interpréteur)

• appletviewer

Page 3: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 3

EnvironnementStandard

• jdb

• javah

• javap (désassembleur de classes)

• javadoc

Page 4: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 4

• Compilateur java

• javac options files

• Chaque fichier doit contenir une classe publique

• -d: directory

• -o: pour optimization

javac

Page 5: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 5

• interprète et exécute des fichiers .class

• java options classname arguments

• la classes doit contenir une méthode main

• -help: liste des options

• -verify: vérification du bytecode

java

Page 6: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 6

• charge des documents HTML

• cherche les tags référençant une applet

• ignore tous les autres tags HTML

• appletviewer options urls

• -debug: avec le jdb

appletviewer

Page 7: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 7

• Le débogueur java

• Fonctionne avec l’interpréteur java

• Trouver des parties défectueuses du code

• jdb intoptions

• intoptions: les options de l’interpréteur

jdb

Page 8: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 8

• Créer un fichier source C

• javah options classnames

• -d directory: le répertoire de sauvegarde

• -o outpufile: combine l’entête et le code source

javah

Page 9: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 9

javap

• imprimer une version lisible du bytecode

• déclaration méthodes, constructeurs, public et default

• javah options classnames

• -c: imprime les instructions de la machine virtuelle

• -l: nb lignes, informations sur variables locales

Page 10: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 10

javadoc

• générateur de documentation (HTML)

• classe, interface, hiérarchie, méthodes et variables

• inclus tous les commentaires des codes sources

Page 11: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 11

javadoc

• javadoc options packagename

• javadoc options files

• -private: toutes les classes, variables et méthodes

Page 12: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 12

Libraries standard

• packages des base

• Les améliorations Java2

• Documentation Java2

Page 13: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 13

• java.applet

• java.awt

• java.awt.event

• java.io

• java.lang

Packages de base

Page 14: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 14

• java.math

• java.net

• java.text

• java.util

Packages de base

Page 15: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 15

java.applet

• Une seule classe: Applet

Objectjava.lang

Componentjava.awt

Containerjava.awt

Paneljava.awt Applet

Page 16: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 16

• init (): joue le rôle d’un constructeur

• start (): lancer un thread de l’applet

• stop (): après avoir quitté la page web

• destroy (): après l’arrêt du navigateur

java.applet

Page 17: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 17

java.awt

• awt: Abstract Windowing Toolkit

• Tous les aspects graphiques

• Amélioré par swing

Page 18: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 18

java.awt (1 of 3)AWTEventMulticaster

CheckboxGroup

Color SystemColor

Cursor

Dimension

Event

EventQueue

Font

FontMetrics

Graphics

Image

Insets

MediaTracker

MenuShortcut

Point

Polygon

PrintJ ob

Rectangle

Toolkit

Objectjava.lang

Page 19: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 19

java.awt.Color

• Manipulation de couleurs

• Couleurs prédéfinis:

public final static Color orange;public final static Color pink;public final static Color yellow;

Page 20: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 20

java.awt.Color

• Méthodes:

public Color (int r, int g, int b)

public Color getColor ()

public void setColor (Color c)

public int getGreen ()

Page 21: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 21

java.awt.Event

• Saisie des événements (clavier, fenêtre ou souris)

• Evénements:

public static final int END = 1001;public static final int PGUP = 1002;public static final int MOUSE_DOWN;

Page 22: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 22

java.awt.Event

• Méthodes:

boolean isConsumed(): événement consommé

public boolean shiftDown(): si le shift est pressé

Page 23: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 23

java.awt.Graphics

• Classe abstraite pour effectuer des dessins

• Aucune constante n’est prédéfinie

• Toutes les méthodes sont abstraites sauf rectangle

• Méthodes: Dessiner des rectangles

drawRect(int x, int y, int width, int height)

Page 24: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 24

java.awt (2 of 3)

List

Scrollbar

TextCompnent

Window

TextArea

TextField

Frame

MenuComponentMenuBar

MenuItemMenu

CheckboxMenuItem

PopupMenuObjectjava.lang

EventObjectjava.util AWTEvent

Throwablejava.lang

Errorjava.lang

Exceptionjava.lang

AWTError

AWTException

RuntimeExceptionjava.lang

RuntimeExceptionjava.lang

IllegalComponentStateException

Button

Canvas

Checkbox

Choice

Container

Label

Panel

Scrollpane

FileDialog

Component

Appletjava.applet

Dialog

Page 25: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 25

java.awt.Component

• Classe abstraite

• Tous les composants graphiques y héritent

• Variables:

Color background;

Cursor cursor;

Page 26: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 26

java.awt.Component

• Méthodes:

addMouseListener(MouseListener l): la souris

setBackground(Color c): arrière plan

setVisible(boolean b): rendre visible

Page 27: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 27

java.awt.Frame

• Dessiner des fenêtres

• Les constantesint DEFAULT_CURSOR=

Cursor.DEFAULT_CURSOR;boolean resizable = true; taille fenêtre;String title = “Untitled”; titre par défaut

Page 28: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 28

java.awt.Frame

• Méthodes:

Frame(String title): constructeur

setMenuBar(MenuBar mb): une barre de menu

setTitle(String title): mettre à jour le titre

isResizable(): modifier la taille

Page 29: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 29

java.awt.Menu

• Définir les éléments d’un menu

• Variables:Vector items = new Vector(); elts du menu

• Méthodes:Menu(String label): construire un menuadd(MenuItem mi): ajouter un item du menu

Page 30: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 30

java.awt.AWTException

• Signale qu’une exception AWT est survenue

• Méthode:

AWTException(String msg):

afficher un message particulier

Page 31: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 31

BorderLayout

CardLayout

FlowLayout

GridLayout

GridBagLayout

GridBagConstraints

Objectjava.lang

java.awt (3 of 3)

Page 32: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 32

Objectjava.lang

ComponentAdapter

ContainerAdapter

FocusAdapter

KeyAdapter

MouseAdapter

MouseMotionAdaptor

WindowAdaptor

EventObjectjava.util

AWTEventjava.awt

ActionEvent

AdjustmentEvent

ComponentEvent

ItemEvent

TextEvent

ContainerEvent

FocusEvent

InputEvent

PaintEvent

WindowEvent

KeyEvent

MouseEvent

java.awt.event

Page 33: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 33

java.awt.event.ActionEvent

• Permet de localiser l’événement

• Constantes:

public static final int ALT_MST // alt

public static final int CTRL_MASK // ctrl

public static final int SHIFT_MASK // shift

Page 34: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 34

java.awt.event.MouseEvent

• Saisir un événement de la souris

• Constantes:

public static final int MOUSE_CLICKED

public static final int MOUSE_MOVED

public static final int MOUSE_PRESSED

Page 35: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 35

java.awt.event.MouseEvent

• Méthodes:

public int getX() // position X de la souris

public int getY() // positon Y de la souris

private static native void initIDs():

permettre l’accès par des méthodes C

Page 36: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 36

java.io

• Les entrées sorties standards

• Les entrées sorties fichiers

Page 37: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 37

UnsupportedEncodingException

ByteArrayInputStream

FileInputStream

FilterInputStream

ObjectInputStream

PipedInputStream

SequenceInputStream

StringBufferInputStream

ButeArrayOutputStream

FileOutputStream

FilterOutputStream

PipedOutputSteam

ObjectOutputStream

BufferedOuptutStream

DataOutputStream

PrintStream

BufferedInputStream

DataInputStream

LineNumberInputStream

PushbackInputStream

OutputStream

InputStream

ObjectStreamClass

File

FileDescriptor

RandomAccessFile

StreamTokenizer

Objectjava.lang

Throwablejava.lang

Exceptionjava.lang

FileNotFoundException

InterruptedIOException

ObjectStreamException

SuncFailedException

UTFDataFormatException

CharConversionException

EOFException

IOException

InvalidObjectException

NotActiveException

NotSerializableException

OptionalDataException

StreamCorruptedException

WriteAbortedException

InvalidClassException

java.io (1 of 2)

Page 38: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 38

Writer

Reader

Objectjava.lang

BufferedReader

CharArrayReader

FilterReader

InputStreamReader

PipedReader

StringReader

CharArrayWriter

FilterWriter

OutputStreamWriter

PipedWriter

PrintWriter

StringWriter

BufferedWriter

File Writer

PushbackReader

LineNumberReader

FileReader

java.io (2 of 2)

Page 39: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 39

java.lang

• Les classes wrapper

• La classe Math

• La classe String

• La classe System

• La classe Thread

Page 40: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 40

Boolean

Character

Class

ClassLoader

Compiler

Math

Number

Process

Runtime

SecurityManager

String

StringBuffer

System

Thread

TreadGroup

Void

Object

Byte

Double

Float

Integer

Long

Short

java.lang (1 of 3)

Page 41: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 41

java.lang.Math

• Classe finale

• Les fonctions mathématiques standards

• Constantes:E=2.1782818284590452354 // exponentiellePI=3.14159265358979323846 //

Page 42: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 42

java.lang.Math

• Méthodes:

cos(double a) // le cosinus d’un nombre

ext(double a) // exponentielle

sqrt(double a) // racine carrée

Page 43: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 43

java.lang.Number

• Racine des classes wrapper

• Majorité des méthodes abstraites

• Méthodes:

shortValue() // transformer une valeur en short

intValue() // abstraite

Page 44: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 44

java.lang.String

• Classe finale

• Traitement des chaînes des caractères

• Méthodes:

String(char value[ ]) // créer un nouveau string

length() // longueur d’une chaîne de caractère

Page 45: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 45

java.lang.String

• Méthodes:

substring(int beginIndex, int endIndex)

compareTo(String anotherString)

replace(char oldChar, char newChar)

Page 46: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 46

java.lang.System

• Classe finale

• Des méthodes sur le système

• Constantes:

PrintStream out // pour écritureInputStream in // pour la saisieSecurityManager security // gestion de la sécurité

Page 47: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 47

java.lang.System

• Méthodes:

gc() // forcer le garbage collector

setSecurityManager(SecurityManager s)

exit(int status) // quitter

Page 48: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 48

java.lang.Thread

• Processus qui tourne continuellement

• Constantes:

MAX_PRIORITY=10 // priorité maximale

NORM_PRIORITY=5 // priorité par défaut

Page 49: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 49

java.lang.Thread

• Méthodes:

start() // lancer un thread

sleep (long) // mettre en veille un thread

interrupt() // arrêter un thread

suspend() // suspendre un thread

Page 50: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 50

Exception

IllegalAccessException

InstantiationException

InterruptedException

NoSuchMethodException

NoSuchMethodException

RuntimeException

ClassNotFoundException

CloneNotSupportedExceptionTrowable

Object

IllegalArgumentException

IllegalMonitorStateException

IllegalStateException

IndexOutOfBoundsException

NullPointerException

ArrayStoreException

ClassCastException

ArithmeticException

SecurityException

NegativeArraySizeException

IllegalThreadStateException

NumberFormatException

ArrayIndexOutOfBoundsException

StringIndexOutOfBoundsException

java.lang (2 of 3)

Page 51: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 51

Error

LinkageError

TreadDeath

VirtualMachineError

Trowable

Object

ClassFormatError

IncompatibleClassChangeError

ExceptionInInitializationError

NoClassDefFoundErrorError

UnsatisfiedError

VerifyError

AbstractMethodError AbstractMethodError

IllegalAccessError

InstantiationError

NoSuchFieldError

NoSuchMethodError

InternalError

OutOfMemoryError

StackOverflowError

UnknownError

java.lang (3 of 3)

Page 52: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 52

java.math

• Les wrappers

• BigInteger et BigDecimal

Page 53: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 53

BigDecimal

BigInteger

Objectjava.lang

Numberjava.lang

java.math

Page 54: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 54

java.net

• La programmation réseau

• La programmation Internet

Page 55: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 55

Objectjava.lang

Throwablejava.lang

Exceptionjava.lang

IOExceptionjava.lang

ContentHandler

DatagramPacket

DatagramSocket

DatagramSocketImpl

InetAddress

ServerSocket

Socket

SocketImpl

URL

URLconnection

URLEncoder

URLStreamHandler

MulticastSocket

HttpURLConnection

MalformedURLException

ProtocolException

SocketException

UnknownHostException

UnknownServiceException

BindException

ConnectException

NoRouteToHostException

java.net

Page 56: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 56

java.net.ServerSocket

• Accès au réseau

• Méthodes:

ServerSocket(int port) // port spécifique

int getLocalPort() // port local

accept() // accepter une connection

Page 57: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 57

java.net.Socket

• Client socket

• Méthodes:

Socket( String host, int port) // nouvelle socket

close() // fermer le socket

int getPort() // avoir le port

Page 58: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 58

java.net.HttpURLConnection

• Connection URL

• Constantes:

int HTTP_BAD_GATEWAY = 502

int HTTP_NOT_FOUND = 404

String[ ] methods = { "GET", "POST", "PUT", "HEAD", "OPTIONS", "DELETE", "TRACE" }

Page 59: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 59

java.net.HttpURLConnection

• Méthodes:

HttpURLConnection (URL u)

boolean usingProxy() // proxy ou non

void disconnect() // déconnexion

Sting getRequestMethod() // la méthode

Page 60: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 60

java.text

• Format textuel

• Format des dates

Page 61: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 61

Objectjava.lang

Throwablejava.lang

Exceptionjava.lang

BreakIterator

CollationElementIterator

CollationKey

Collator

DateFormatSymbols

DecimalFormatSymbols

FieldPosition

Format

ParsePosition

StringCharacterIterator

SimpleDateFormat

ChoiceFormat

DecimalFormat

DateFormat

MessageFormat

NumberFormat

ParseException

RuntimeExceptionjava.lang

IllegalArgumentExceptionjava.lang FormatException

RuleBasedCollator

java.text

Page 62: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 62

java.text.DateFormatSymbols

• Formatage des dates locales

• Constantes:millisPerHour=60*60*1000 // timezone

• Méthodes:

DateFormatSymbols() // format par défautgetAmPmStrings()getMonths

Page 63: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 63

java.text.NumberFormat

• Formatage des nombres

• Constantes:CURRENCYSTYLE=1 // style de format

• Méthodes:

getMaximumFractionDigits()

parse(String text)

Page 64: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 64

java.util

• Le package des utilitaires

• Random, Vector, Hashtable, etc.

Page 65: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 65

Objectjava.lang

Throwablejava.lang

Exceptionjava.lang

RuntimeExceptionjava.lang

BitSet

Calendar

Date

Dictionary

EventObject

Locale

Observable

Random

ResourceBundle

StringTokenizer

TimeZone

ThreadVector

GregorianCalendar

Hashtable Properties

ListResourceBundle

PropertyResourceBundle

SimpleTimeZone

Stack

EmptyStackException

MissingResourceException

NoSuchElementException

TooManyListnersException

java.util

Page 66: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 66

java.util.Hashtable

• Correspondance entre des clés et des valeurs

• Méthodes:

Hashtable() // constructeur

size() // taille

put(Object key, Object value)

Page 67: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 67

java.util.Random

• Générer des nombre aléatoires

• Méthodes:

Random() // générer une nouvelle classe

nextBoolean()

Page 68: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 68

java.util.Vector

• Méthodes:

Vector(int initialCapacity)

add(int index, Object element)

elementAt(int index)

firstElement()

insertElementAt(Object obj, int index)

Page 69: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 69

Amélioration Java2

• JFC (Java Foundation Classes)

• RMI

• Java IDL

• JNI

• JDBC-ODBC

Page 70: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 70

JFC

• swing: amélioration de AWT

• Java 2D: outils pour dessins 2D

• Accès: tous les types d’écran

• Drag-and-Drop

Page 71: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 71

RMI

• Remote Methode Invocation

• Invocation de méthodes à distance

• Programmation client serveur

Page 72: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 72

Client

Stub

Transport

Couche de référencedistante

Serveur

Squelette

Transport

Couche de référencedistante

RMI

Page 73: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 73

Java IDL

• Interface Definition Language

• Communication avec d’autres environnements

• C++, SmallTalk, Cobol, etc.

Page 74: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 74

C CC++ C++SmallTalk

SmallTalkAda AdaCOBOL COBOLJ ava

IDL IDLIDL IDLIDL IDLIDL IDLIDL IDL

Client Serveur

ORB

J ava

IDL IDL

CORBA

Page 75: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 75

JNI

• Java Native Interface

• Avoir un code spécifique à une plate-forme

• Permet de lier d’autres applications (C++)

Page 76: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 76

JDBC-ODBC

• Accès aux BD relationnels

• Accès à ODBC par JDBC

• Accès multi-thread

Page 77: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 77

Documentation

Page 78: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 78

Développement GUI

• Éléments graphiques

• Programmation par événement

• Interfaces événements

• Composantes et containers

• Composantes graphiques

Page 79: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 79

Éléments graphiques

• Pièces de l’interface graphique

• Héritage de la classe Component

• Éléments graphiques regroupés dans des containers

• Arrangement: LayoutManager

• Saisie des événements

Page 80: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 80

Eléments graphiques

• Label: afficher une zone de texte

• TextArea: afficher des lignes de texte

• List: afficher une liste d’items pour sélection

• PushButton: un bouton d’action

Page 81: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 81

Eléments graphiques

• Evénements:

Mouse: les différentes actions de la souris

Key: action au clavier

Window: action sur une fenêtre

Item: la sélection d’un item

Page 82: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 82

Programmation par événement

• Différencer le programme en trois parties

Saisir lesévénements

Ajouterlistener

GUI

Listeners

ProgrammeEffets des

événements

Page 83: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 83

Interface événements

• Chaque type d’événement: une Interface

• Un événement possède des classes qui l’utilisent

• Exemple:

WindowEvent: WindowMouseEvent: ComponentActionEvent: Button, List, TextField et MenuItem

Page 84: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 84

Composantes et containers

• Des ensembles de composantes

• Gérer des composantes et affichage

• Dérivé de la classe Container

• Ils peuvent être attachés à des surfaces graphiques

• Ils peuvent être indépendants (window)

Page 85: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 85

Composantes et containers

Component

Applet Frame

Container

Dialog

WindowPanel

Page 86: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 86

Composantes et containers

• Container: Non instantiable

• Panel: organiser et grouper des composantes

• Applet: panel sur le navigateur web

Page 87: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 87

Composantes et containers

• Window: ne contient ni titre, ni menu, ni bordure

• Frame: une bordure et un titre, supporte les menus

• Dialog: Il traite avec un situation particulère

Page 88: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 88

Les composantes graphiques

• Labels

• Text Fields et Text Area

• List

• Scrollbar

• Layout Managers

Page 89: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 89

Lables

• Spécifier une ligne de texte dans un GUI

• Classe: Label

• Ne peuvent être sélectionnés par l’utilisateur

• Ne peuvent être modifiés par l’utilisateur

Page 90: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 90

Lables

• Label (String label)

• void setText (String label)

• String getText ()

• int getAlignement ()

Page 91: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 91

Text Fields et Text Area

• Text Field:

Écrire une ligne de texte

Spécifier si l’user peut modifier ou non

Classe: TextField

TextField (String text)

Page 92: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 92

• Text Area:

Ecrire plusieurs lignes

Spécifier la taille

Classe: TextArea

TextArea (String text, int rows, int columns)

Text Fields et Text Area

Page 93: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 93

• Méthodes communes:

void setText(String text)

String getText()

Sting getSelectedText()

void setEditable (boolean b)

Text Fields et Text Area

Page 94: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 94

List

• Afficher une liste de chaîne à sélectionner

• Un élément de la liste peut être sélectionné par clic

• List (int rows, boolean multipleSelections)

Page 95: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 95

• void addItem (String item, int index)

• void setMultipleMode (boolean b)

• String getitem (int index)

• String getSelectedItem ()

List

Page 96: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 96

Scrollbar

• Il se crée de lui même ou bien par le contructeur

• Scrollbar (int orientation): orientation (V/H)

• void setUnitIncrement (int increment)

• int getOrientation ()

Page 97: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 97

Layout Managers

• Flow Layout

• Grid Layout

• Border Layout

• Card Layout

• Grid Bag Layout

Page 98: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 98

Flow Layout

• Par défaut dans un panel ou une applet

• Place les éléments dans l’ordre d’ajout

• Placement de gauche à droite

• FlowLayout (int align)

Page 99: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 99

Grid Layout

• Place des composantes dans une grille

• Nombre spécifique de lignes et de colonnes

• GridLayout (int rows, int colums)

Page 100: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 100

Border Layout

• Définie cinq emplacements

• NORTH, SOUTH, WEST, EAST, CENTER

• À l’ajout d’un élément: spécifier l’emplacement

• Taille emplacement: dépend de celle du composant

• BorderLayout ()

Page 101: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 101

Card Layout

• Afficher un composant à la fois

• Ordonner dans l’ordre d’ajout

• CardLayout ()

• void first (Container cont)

• void show (Container cont, String name)

Page 102: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 102

Grid Bag Layout

• Un composant peut avoir plusieurs cellules

• Taille variable des cellules

• Les cellules sont ajoutées au fur et à mesure

• Contraintes pour la composante: GridBagConstaint

Page 103: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 103

Outils de développement

• Java Workshop 2.0

• Jbuilder 3.0 de Borland

• Visual Café for Java de Symantec

• Visual Age for Java 2.0 de IBM

Page 104: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 104

Java Workshop 2.0

• Éditeur syntaxique

• Débogueur intéractif

• Plusieurs bogues

Page 105: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 105

JBuilder 3.0

• Excellent produit

• Très puissant

• Plutôt lent

Page 106: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 106

Visual Café for Java 4.0

• Excellent produit

• Rapide

• Facile à utiliser

Page 107: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 107

Visual Age for Java 2.0

• Fabriqué par IBM

• Supporte Java 1.2

Page 108: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 108

L’environnement Visual Café

Page 109: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 109

UML: Unified Modeling Language

• Méthodologie de conception O.O

• Neuf diagrammes

• Use case

• Diagramme des classes

• Diagramme de séquence

Page 110: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 110

UML

• Use case: première étape

• Description des fonctionnalités du système

• Supporté par un texte descriptif

• Exemple:

Page 111: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 111

Use Case

• Use Case de gestion des Commandes

Commercial

Accepter Commande client

Verifier Commande client

Annuler Commande client

Imprimer Commande client

Page 112: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 112

UML

• Diagramme des classes• Relations entre les classes• Héritage: simple ou multiple• Associations• Aggrégation• Exemple:

Page 113: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 113

Heritage

Manuel

nom editeur@editeurdate publication

vérifierStock()

Ouvrage

titreISBNauteuréditeur

majStock()

Page 114: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 114

UML:Diagramme de class

Manuel Ouvrage

Commande c l ient

numCde;dateCde;

majEtat();imprimerCde();

1..*

0..*

Page 115: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 115

UML

• Diagramme de séquences

• Les appels entre les fonctions

• Pour chaque use-case un diagramme

• Exemple:

Page 116: Jour 21 Jour 2. 2 Environnement standard • Commandes de base • javac (compilateur) • java (interpréteur) • appletviewer.

Jour 2 116

Diagramme Séquence:Vérifier Commande Client

imprimerCommandeClient()imprimer()

retournerCommandeClient()

sélectionnerCommandeClient()

FenêtreC.C.

CommandeClient

imprimer()

Fenêtre C.C.()

Trouver C.C.()

I mp