Java - Application (java 1.0.2)

Une application Java est un programme de gestion de données comme tant d'autre. Elle doit pouvoir faire appel à d'autres classes de la bibliotèque fournie.

Une classe doit être écrite avec un traitement de texte (document.java) puis compilée - Mac : tirer le fichier sur l'icône du compilateur; PC : exécuter la commande javac document.java depuis le répertoir contenant Javac . Le document compilé portera le même nom que le fichier source mais avec l'extension .CLASS.Pour créer des classes, il faut avoir un compilateur, alors que les biblothèques sont fournies avec le quit de dévelloppemet.

Pour lancer l'application, il s'uffit de faire un double clic sur son icône ( éventuellement mettre à jour l'Autoexe).

 

textes:

dessins

création de conrôles

gestion des événements de contrôles

 

Souris

Application dans une fenêtre

 


Introduction :

Pour créer une Application, il faut un éditeur de texte (même rudimentaire). Il faut une compilateur et un peu de patience.

Le document initial doit avoir l'expention .java

Pour le compiler :

Sur mac: tirer l'icône du document xxx.java sur celle du compilateur est c'est déjà fini.

 

Pour Windows: faire appel aux commande dos, trouver le fichier dans lequel se trouve le compilateur

(par exemple : c:\Javadoc\jdk102\bin )

depuis cet endroit, s'il vous reste du temps, envoyer la commande suivant (il est préférable de mettre le document .java dans le bin, sinon il faut entrer son adresse complète et prier - puis eventuellement quand même mettre le document dans le bin...)

javac nom_doc.java

 

Après cette opération, il y deux possibilités:

a) Il y a quelque(s) erreur(s) de programmations (cas le plus fréquent) : corriger les premières erreurs (inutile de vouloir toutes les rechercher) et recommencer la tentative de compilation.

 

b) Il arrive parfois que le compilateur vous informe que tout c'est bien passé ( ce qui veut dire qu'il n'y pas d'erreur de syntaxe, mais pas que votre programme est juste ...). Dans ce cas vous trouverez un nouveau document nom_doc.class

C'est ce fichier qui sera utile pour l'execution de votre programme. Mais ne jeter pas le .java trop vite, car il se peut que vous vouliez une fois faire une modification de votre programme.

 

Les classes auront la structure suivante:

public class NOM_JUSTE

{

public static void main (String args[]) // il faut une fonction "main" pour démarrer l'application

{

bla,bla;

}

fonctions et instructions

}

 

 

définition d'une classe avec ou sans passage de paramètres

commentaires :

public class Courant

{

double tension;

double impedance;

public Courant()

{

tension = 230;

impedance = 23;

}

public Courant(double t, double i)

{

tension = t;

impedance = i;

}

static public double CalculI()

{

return tension / impedance;

}

}

nom de la classe

marque le début de la classe

déclare une variable double : tension

déclare une variable double : impedance

défini une fonction sans paramètre : Courant()

ouvre la fonction Courant()

initiale la valeur de la variable tension à 230

initiale la valeur de la variable impedance à 23

ferme la fonction Courant()

défini une fonction avec paramètre -double: Courant(t,i)

ouvre la fonction Courant(t,i)

initiale la valeur de la variable tension à la valeur de t

initiale la valeur de la variable impedance à la valeur de i

ferme la fonction Courant(t,i)

défini la fonction de calcul : CalculI()

ouvre la fonction CalculI()

calcul la valeur à retourner

ferme la foction CalculI()

ferme la classe Courant

 

Le programme appellant serait :

import java.awt.*;

import Courant;

public class Pour_voir

{

Courant Circuit1 = new Courant (); // définit un objet Courant (sans paramètre) de la classe Courant

double reponse1= Circuit1.CalculI();// reçoit en retour la valeur 230/23 soit reponse1 contient le double 10

Courant Circuit2 = new Courant (111,37); // définit un objet Courant (avec paramètre) de la classe Courant

double reponse2= Circuit2.CalculI();// reçoit en retour la valeur 111/37 soit reponse2 contient le double 3

}

 

 


Les variables :

Les variables seront déclarées différemment si elle sont employées dans une Applet ou un script. Le nom d'une variable doit toujours commencer par une lettre (toutefois il peut contenir des chiffres, des $ ou des _ dans la site de son nom,

ex. c_est_mon_nom_24 est juste mais pas c'est mon nom)

Pour le détail de différent type de variable, voir "variables" dans le document JAVA.

Durée de vie : la durée de vie d'une variable est celle de la partie de programme dans laquelle elle est déclarée :

1) si elle est déclarée dans une classe : elle contient la même valeur (si inchangée par le programme) durant toute l'utilisation de cette classe.
2) si elle est déclarée dans une fonction : elle contient la même valeur (si inchangée par une instruction) durant toute l'utilisation de cette fonction.
3) si elle est déclarée dans une boucle : elle contient la même valeur (si inchangée par une instruction) durant toute l'utilisation de cette boucle ( par exemple un compteur n'a pas besoin d'être défini dans la fonction).
4) si elle est déclarée dans une ligne d'instruction : elle contient la même valeur (si inchangée par l' instruction) durant toute l'utilisation de cette ligne ( dans ce cas, il s'agit surtout d'une erreur de programmation).

Donc des variables différentes de nom identique peuvent coexister sans problème dans une même classe ou une même fonction.

Déclarartions des variables: pour déclarer une variable, il faut indiquer son type avant son nom (il existe quelques exeptions, mais il reste plus clair de quand même les déclarer par leur type)

exemples:

type nom_variable = valeur

long nombre_long_en_octal = 0634; // nombre entier exprimé en octal

double Nombre64bits = 34.6788;

float nombre32bits =123.56f; // Si l'on ne reprécise pas qu'il est float il y aura une erreur car Java suppose que le nombre avec virgule est en double

for (var compteur = 0; compteur <10; compteur++) // compteur n'existe que dans cette boucle

char caract$ ; // définit une variable contenant un caractère sans affectation de valeur

char return$ =' \r'; // définit une variable contenant un caractère avec affectation d'un code

char tabulation$ =' \u0009'; //définit un caractère UNicode (avec JDK 1.1)

int valeur1,valeur2;

string Tableauchaine []; // tableau de chaînes

double [] tableau1,tableau2; // les [] peuvent être placés avant ou après le nom de la variable


Les textes :

Dans les Applet les textes sont des dessins de lettres. Nous avons besoin de la méthode drawString():

g.drawString("texte"ou string chaine,int X,int Y);

exemple :

import java.awt.*;

public class VOIRTEXTE

{

public void paint (graphics g)

{

g.drawString("ouf, ça marche",10,20); // affiche le "texte" à 10 du bord G et à 20 du haut

}

}


Gestion des Fontes

constructeur (méthode de la classe java.awt.Font) de l'objet Font:

public Font (String nom, Font.style, int taille)

note : style => .BOLD, .ITALIC, . PLAIN

Font police12 = new Font ("Helvetica", Font.BOLD, 36); // initialise une fonte appellé Police12

g.setFont (police12); // affecte la fonte police12 à la méthode drawString()


Gestion des Couleurs d'affichage

constructeur (méthode de la classe java.awt.Color) de l'objet Color

public Color (int r, int g, int b) // (valeur de 1 à 256 pour le rouge, vert, bleu)

public Color (int rgb)

public Color (sting nom_couleur)

exemples :

import java.awt.*;

public class choixcouler

{

public void paint (graphics g)

{

g.setFont (new Font ("Courier", Font.ITALIC, 10)); // choix de la police

g.setColor (Color.blue); // couleur d'affichage bleu

g.drawString("ça écrit en bleu",20,50); // affiche le "texte" à 20 du bord G et à 50 du haut

g.setColor (new Color(0,0,255); // couleur d'affichage bleu

g.drawString("ça écrit aussi en bleu",20,50);

}

}

note : cette commande est aussi valable pour des lignes


Passage de paramètres

Avec Java on peut passer des paramètres depuis DOS

commande DOS

récupération dans l'application

java blut 3 trucs suivent

- passage de 3 paramètres :

args[0]="3", args[1]= "trucs", args[3]= "suivent"

 

java blut 2.1 "trucs suivent"

- passage de 2 paramètres :

args[0]= "2",args[1]="trucs suivent"

public class blut

{

public static void main (String args[])

{

double recept1=Double.valueOf(args[0]).doubleValue();

String recept2=args[1];

suite;

}

}

note: Dans cet exemple, la paramètre chaîne 1 est converti en double

 


Les commentaires :

Il est possible et même indispensable de documenter les classes que vous créez. Pour cela il y a plusieurs manières différentes:

 

  • /* commentaire sur

    plusieurs lignes */

  • début de l'instruction/* commentaire */ fin de l'instruction

Les graphiques

traçage d'une ligne :

méthodes de la classe java.awt.Graphics : Public absttract void drawLine (int x1, int y1, int x2, int y2)

exemples d'instuctions dans une fonction :

int plus = 2;

g.setColor (Color.red); // couleur d'affichage rouge

g.drawLine(10,10,10+plus,10+plus); //trace une ligne du point (10 de G et 10 du H) au point (12,12)

 

traçage d'un rectangle

méthodes de la classe java.awt.Graphics : Public absttract void drawRect (int x1, int y1, int largeur, int hauteur)

exemples d'instuctions dans une fonction :

int base = 10;

g.setColor (Color.yellow); // couleur d'affichage jane

g.drawRect(base,base,base*3,base*3); //trace un carré de 20/20 dont le coin sup. G est à (10,10)

 

traçage d'un rectangle à coins arondis

méthodes de la classe java.awt.Graphics

Public absttract void drawRoundRect (int x1, int y1, int largeur, int hauteur, int diamelipshori, int diamelipseverti)

exemples d'instuctions dans une fonction :

g.drawRoundRect(0,0,27,80,5,5);

 

traçage d'un rectangle en relief

méthodes de la classe java.awt.Graphics

Public absttract void 3DRect (int x1, int y1, int largeur, int hauteur, boolean relevé)

exemples d'instuctions dans une fonction :

boolean presse = false

g.draw3DRect(10,90,50,40, presse);// trace un bouton enfonçé

 

traçage d'un rectangle plein en relief

méthodes de la classe java.awt.Graphics

Public absttract void fill3DRect (int x1, int y1, int largeur, int hauteur, boolean relevé)

exemples d'instuctions dans une fonction :

g.setColor (Color.pink);//couleur de remplissage

g.drawfill3DRect(10,90,50,40, true);// trace un bouton relevé

 

 

Traçage de Polygone ou de courbe variable

méthode de la classe java.awt.Graphics public absttract void drawPolygon (int xpoints[], int ypoints[], int nombre_de_point)

note : mettre d'abord les coordonnée (x,y) dans des tableaux

g.drawPolygon (tableau_x, tableau_y,100); // trace un trait qui relie les 100 points contenu dans les tableaux X et Y

public void drawPolygon (Polygon objet_polygone)

 

exemples d'instuctions dans une fonction :

int i; //valeur des X

int compteur = 0;

double angle=0;

int pos_x[] = new int [50];// crée un tableau de 51 valeurs .

int pos_y[] = new int [50]; // crée un tableau de 51 valeurs.

for (i=10;i<=110;i=i+2)

{

pos_x[compteur] = i ;

pos_y[compteur]=(int)(150-100*Math.sin(angle));//valeur entiére

compteur++; // incrémente le compteur du tableau

angle +=0.2; // incrémente l'angle de 0.2 radian

}

g.drawPolygon (pos_x,pos_y,50);//trace une sinusoïde de 100 d'amplitude

g.drawLine ( 10,150,110,150);//trace l'axe des X

 

traçage d'un arc

exemple d'instuction dans une fonction :

g.drawArc (val_int_x,val_int_y, int_largeur, int_hauteur, int_debut_angle, int_angle_en_plus);//angle en degré

traçage d'un arc de cercle plein

exemple d'instuction dans une fonction :

g.setColor(Color.magenta);

g.fillArc (val_int_x,val_int_y, int_largeur, int_hauteur, int_debut_angle, int_angle_en_plus);//angle en degré

traçage d'un oval

exemple d'instuction dans une fonction :

g.drawOval (int_sup_GaucheX,int_sup_GaucheY, int_largeur, int_hauteur, );//trace l'oval dans le rectangle ainsi défini

traçage d'un oval plein

exemple d'instuction dans une fonction :

g.setColor(Color.cyan);

g.fillOval (int_sup_GaucheX,int_sup_GaucheY, int_largeur, int_hauteur, );//trace l'oval dans le rectangle ainsi défini

 


rafraîchissement du gaphique

Pour faire opération, il faut faire un nouvel appel à la fonction Paint() avec un appel repaint():

exemple:

import java.awt.*; // contient les méthodes graphiqes

public class affiche

{

fonctions et instructions

public void XYZ()

{

instructions...

repaint();

}

public void paint (graphics g)

{

g. drawSting(blut, nouveau_x, nouveau_y);

instructions...

}

}

 

 


bouton de la souris enfoncé

constructeur (méthode de la classe java.awt.Event) : public booleen mouseDown (Event evt, int x, int y)

note : evt = évenement généré; les entier x et y =>coordonées de la souris passé à la fonction

public booleen mouseDown (Event evt, int x, int y)// excécute la suite si la souris a été enfoncée

{

instructions...

return true; // cas traité

}

 

bouton de la souris relâché

constructeur (méthode de la classe java.awt.Event) :public booleen mouseUp (Event evt, int x, int y)

note : sevt = évenement généré; les entier x et y =>coordonées de la souris

public booleen mouseUp (Event evt, int x, int y)// excécute la suite si la souris a été relâchée

{

instructions...

return true; // cas traité

}

 

la souris entre dans la zone graphique

constructeur (méthode de la classe java.awt.Event) : public booleen mouseEnter (Event evt, int x, int y)

note : sevt = évenement généré; les entier x et y =>coordonées de la souris

public booleen mouseEnter(Event evt, int x, int y)// excécute la suite si la souris entre dans le graphic (zone de l'applet)

{

instructions...

return true; // cas traité

}

 

la souris sort de la zone graphique

constructeur (méthode de la classe java.awt.Event) : public booleen mouseExit (Event evt, int x, int y)

note : sevt = évenement généré; les entier x et y =>coordonées de la souris

public booleen mouseExit (Event evt, int x, int y)// excécute la suite si la souris sort dans ls graphique

{

instructions...

return true; // cas traité

}

 

la souris se déplace

constructeur (méthode de la classe java.awt.Event) : public booleen mouseMove (Event evt, int x, int y)

note : sevt = évenement généré; les entier x et y =>coordonées de la souris

public booleen mouseMove (Event evt, int x, int y)// excécute la suite si la souris se déplace

{

instructions...

return true; // cas traité

}

 

la souris se déplace bouton enfoncé

constructeur (méthode de la classe java.awt.Event) : public booleen mouseDrag (Event evt, int x, int y)

note : sevt = évenement généré; les entier x et y =>coordonées de la souris

public booleen mouseDrag (Event evt, int x, int y)// excécute la suite si la souris se déplace avec le bouton enfoncé

{

instructions...

return true; // cas traité

}


 

constructeurs ( classe java.awt.Label) de l'objet Label

public Label (String chaîne _à_afficher)

public Label ( String chaîne _à_afficher, int align)

note : align => Label.LEFT, Label.CENTER, Label.Right

Label texte1 = new Label ("ceci est un texte écrit sur une ligne");

public void init()

{add (texte1);}

méthode de la classe Label :

Label.setAlignment () -> (int) définit la valeur de l'alignement : 0=LEFT, 1= CENTER, 2=RIGHT

Label.getAlignment () -> (int) renvoie la valeur de l'alignement : 0=LEFT, 1= CENTER, 2=RIGHT

exemple : variable = Texte1.getAlignment();

Label.setText () -> (String) définit le texte de l'étiquette

Label.getText () -> (String) renvoie le texte de l'étiquette

exemple : Chaîne$= Texte1.getText(); / /renvoi le texte contenu dans l'étiquette 'Texte1'


constructeurs ( classe java.awt.TextField) de l'objet TextField (Champ texte)

public TextField (int nombre_de caractères)

public TextField ( String chaîne _à_afficher)

public TextField (int nombre_de caractères, String chaîne _à_afficher )

exemple :

TextField Champ1 = new TextField ("ceci est un texte contenu dans un champ");

public void init()

{add (Champ1);}

méthode de la classe TextField :

TextField.echoCharIsSet () -> (boolean) true si le texte est caché sinon false

exemple : variable_booleen = Champ1.echoCharIsSet();

TextField.getColumns () -> (int) renvoie le nombre de caractère du champ

exemple : variable_int = Champ1.getColumns();

TextField.minimumSize () -> (objet Dimension) renvoie la taille minimale pour le texte du champ

TextField.preferredSize () -> (objet Dimension) renvoie la taille optimale pour le texte du champ

TextField.getEchoChar () -> (char) renvoie le caractère de masquage

TextField.setEchoCharacter (char caractère_de_masquage) -> (char)défini le caractère de masquage

exemple : Champ1.setEchoCharacter ('*');

TextField.paramString () -> (String) renvoie le texte du champ

TextField.getText () -> (String) renvoie le texte du champ

TextField.setText () -> (String) modifie le texte du champ


constructeurs ( classe java.awt.TextFArea) de l'objet TextArea (Zone de texte)

public TextArea (int nombre_de_ligne, int nombre_de_colonnes)

public TextArea ( String chaîne _à_afficher)

public TextArea (String chaîne _à_afficher, int nombre_de_ligne, int nombre_de_colonnes)

exemple :

TextArea Zone1 = new TextArea ("ceci est un texte contenu dans Zone1", 4, 30 );

public void init()

{add (Zone1);}

méthode de la classe TextArea :

TextArea.getRows () -> (int) renvoie le nombre de ligne de la zone

exemple : variable_entière = Zone1.getRows ();

TextArea.getColumns () -> (int) renvoie le nombre de colonnes de la zone

exemple : variable_int = Zone1.getColumns();

TextArea.insertText (String chaîne, int position) -> insert la 'chaîne' dans la zone à 'position'

TextArea.minimumSize () -> (objet Dimension) renvoie la taille optimale pour le texte de la zone

exemple : variable_int = Integger.toString(Zone1.minimumSize().height,10);

TextArea.preferredSize () -> (objet Dimension) renvoie la taille optimale pour le texte du champ

TextArea.paramString () -> (String) renvoie la valeur de la zone text

TextArea.getText () -> (String) renvoie le texte du champ

TextArea.replaceText (String chaîne, int départ, int fin) -> (String) modifie le texte du champ par 'chaîne' de 'début' à 'fin'


constructeurs ( classe java.awt.Checkbox) de l'objet Checkbox (Case à cocher)

public Checkbox (String label _à_afficher, Checkboxgroup nom_du_groupe, Boolean etat)

public Checkbox ( String label _à_afficher)

note : état =>true = coché, false = décoché

exemple :

Label texte1 = new Label ("voulez-vous ce bouton");

Label texte2 = new Label ("ou peut-être cbouton");

Checkbox variante1 = new Checkbox ("1er texte à choix");

Checkbox variante2 = new Checkbox ("2ème texte à choix");

public void init()

{

add (texte1);

add (variante1);

add(texte2);

add (variante2);

}

méthode de la classe Checkbox :

TextArea.setLabel (String étiquette) -> (String) défini l'étiquette de la case à cocher

TextArea.getLabel () -> (String) renvoie l'étiquette de la case à cocher

exemple : variable_Chaîne = variante1.getLabel (); // retourne '1er texte à choix'

TextArea.setState (boolean état) -> (boolean) défini l'état true (coché) ou false (décoché)

TextArea.getState () -> (boolean) renvoie l'état true (coché) ou false (décoché)

exemple : variable_boolean = variante2.getState();


constructeurs ( classe java.awt.CheckboxGroup) de l'objet CheckboxGroup (Case à cocher)

public CheckboxGroup ()

exemple :

CheckboxGroup groupe1 = new CheckboxGroup ();

Checkbox variante1 = new Checkbox ("1er texte à choix", groupe1, false);

public void init()

{add (variante1);}

méthode de la classe Checkbox :

Checkbox.setCurrent (Checkbox nom) -> (objet) sélectionne un objet du groupe

Checkbox.getCurrent () -> (String) renvoie l'objet sélectionné

exemple : variable_Chaîne = groupe1.getCurrent().getLabel() // retourne le texte sélectionné dans groupe1

String.toString () -> renvoie une chaîne qui représente les valeurs du groupe d'option.


constructeurs ( classe java.awt.Choice) de l'objet Choice (Liste déroulante)

public Choice ()

exemple :

Choice Liste1 = new Choice ();

public void init()

{add (Liste1);}

méthode de la classe Choice :

Choice.addItem (String texte) -> défini une entrée dans la liste

exemple : Liste1.addItem ("mon premier choix");

exemple : Liste1.addItem ("mon second choix");

Choice.CountItems () -> (int) renvoie le nombre d'entrée de la liste

exemple : variable_Entière= Liste1.CountItems();

Choice.getItems (int numéro_de_ligne-1) -> (String) renvoie la chaîne de la ligne +1 est indiquée.

Choice.getSelectedItems () -> (String) renvoie la chaîne sélectionnée.

Choice.getSelectedIndex () -> (int) renvoie le numéro de la ligne -1 sélectionnée.

Choice.Select ( int numéro_de_ligne-1 ) -> Sélectionne la ligne +1 .


constructeurs ( classe java.awt.List) de l'objet Liste (Liste déroulante)

public List (int nombre_de_ligne_visible, boolean selection_multiple)

note : boolean selection_multiple => true = plusieurs sélections possible, false = une seule sélection

exemple :

List Liste1 = new List (2, fasle);

public void init()

{{add (Liste1);}

méthode de la classe List :

List.addItem (String texte) -> ajoute une entrée dans la liste

exemple : Liste1.addItem ("mon premier choix");

Liste1.addItem ("mon second choix");

List.CountItems () -> (int) renvoie le nombre d'entrée de la liste

exemple : variable_Entière =Liste1.CountItems();

List.allowsMultipleSelection () -> (boolean) renvoie true si la sélection multiple est possible

List.clear () ->supprime les entrées définies dans la zone de liste

List.delItem (int position) -> supprime l'entrée position numéro 'position'

List.delItems (int de, int à) -> supprime les entrées de position numéro 'de' à position numéro 'à'

exemple : Liste1.delItems(2,5);

List.deselect (int position) ->désélectionne l'entrée à la position numéro 'position'

List.getItem (int position) -> (String) renvoie la chaîne sélectionnée de la position 'position' .

List.getRows () -> (int) renvoie le nombre d'entrées de la liste

List.getSelectedIndex ( ) -> (int) renvoie la valeur de la position de l'entrée sélectionnée

List.getSelectedItem ( ) -> (String) renvoie la chaîne de l'entrée sélectionnée

List.getSelectedItems ( ) -> (String []) renvoie dans un tableau les chaînes des entrées sélectionnée

List.isSelected (int position ) -> (boolean) renvoie true si l'entrée de la 'position' est sélectionnée

List.Select (int position ) -> sélectionne l'entrée 'position'

List.setMultipleSelection (boolean multple ) -> autorise la sélection multiple si 'multiple' vaut true


constructeurs ( classe java.awt.Button) de l'objet Button (Bouton)

public Button (String Nom_de_l'étiquette_dans_le_bouton)

exemple :

Button BoutonOK = new Button ("OK");

....

add(BoutonOK);

méthode de la classe Button :

Button.setLabel (String nom_de_l'étiquette) -> (String) modifie la chaîne dans le bouton

Button.getLabel () -> (String) renvoie la chaîne du bouton

exemple : variable_Chaîne = groupe1.getCurrent().getLabel() // retourne le texte sélectionné dans groupe1

String.toString () -> renvoie une chaîne qui représente les valeurs du groupe d'option.


événement case à cocher

public boolean action (Event evt, Objet arg)

{

if (evt.target instanceof Checkbox)

traitement...

return true; // événement traité

}


événement bouton d'option

public boolean action (Event evt, Objet arg)

{

if (evt.target instanceof Checkbox)

traitement...

return true; // événement traité

}


événement bouton de commande

public boolean action (Event evt, Objet arg)

if (evt.target == OK) // OK est le nom du bouton

{

traitement...

return true; // événement traité

}


événement Liste déroulante

public boolean action (Event evt, Objet arg)

if (evt.target == Liste1) // Liste1 est le nom de la liste

{

traitement...

return true; // événement traité

}


Introduction aux applications dans des fenêtres:

Pour utiliser Java non pas dans une fenêtre DOS, mais dans une qui resemble aux habituelles que l'on trouve dans les mondes Windows, Solaris ou même dans le paradis Macintosh, il faut utiliser une classe dérivée de la classe Frame (java.awt.frame).

donc vous aurez les codes suivant à entrer :

import java.awt.*;

public class Fenetre extends Frame// constructeur

{}

public static void main (String args[]) // procédure principale

{

Fenetre Fenster=new Fenetre();// fenêtre sans titre - Untitled

Fenster.show();// affiche l'objet fenêtre

...

Gestion de la fenêtre

case fermeture :

public boolean handleEvent (Event evt) // gestion de l'évenement

{

if (evt.id == Event.WINDOW_DESTROY) // si case de fermeture

{

System.exit(0); // ferme la fenêtre

return (tue);

}

return super.handleEvent (evt);

}

méthode de la classe Frame :

Frame.dispose () -> libère les resources utilisée par l'oblet frame

Frame.getIconImage () -> renvoie une image (l'icône de l'application)

Frame.getTitle () -> renvoie le titre (dans la barre de titre)

Frame.setTitle () -> définit le titre (dans la barre de titre)

Fenster.setTitle ("super blabla");

Frame.resize (int largeur, int hauteur) -> renvoie true si la fenêtre peut être redimensionnée

Fenster.resize (350,240);

Frame.isResizable () -> renvoie true si la fenêtre peut être redimensionnée

Frame.setResizable (boolean redim) -> redimensionnable si redim=true

Fenster.setResizable (false);

Frame.setCursor (Image image_curseur) -> definit l'apparence du curseur

Frame.setIconImage (Image image_icone) -> definit l'icône de l'application


ajouter des menus c'est facile !

Ce sera plus simple avec un exemple.

import java.awt.*;

public class Fenetre extends Frame

{

public fenetre

{

MenuBar menu1 = new MenuBar(); // défini une nouvelle barre de menu

Menu menFich = new Menu ("&Fichier"); // défini un titre de menu :Fichier

Menu menCou = new Menu("&Couleur"); // défini un titre de menu : Couleur

menu1.add (menFich);// met le titre dans la barre

menu1.add (menCou); //met le titre dans la barre

MenuItem F1 = new MenuItem ("&Quitter") // définit une commande

MenuItem C1 = new MenuItem ("&Noir") // définit une commande

MenuItem C2 = new MenuItem ("&Rouge") // définit une commande

menFich.add (F1); // met la commande dans le menu

menFich.add (C1); // met la commande dans le menu

menuCou.add (C2); // met la commande dans le menu

setMenuBar (menu1);

}

public boolean handleEvent (Event evt)

{

gestion des evénements

}

public static void main (String args[])

{

création et affichage de la fenêtre

}

}

Gerer les commandes passées par un menu

Ce sera plus simple avec un exemple en rapport avec l'exemple précédent:

import java.awt.*;

public class Fenetre extends Frame

{

int couleur;

public Fenetre ()

{ mise en place des menus }

public boolean action (Event evt, Object arg) // événement liés au menu

{

if (evt.target instanceof MenuItem)

{

String commande = (String) arg;

if (commande.equals("&Quitter"))

System.exit (0);

if (commande == "&Noir")

couleur = 1;

if (commande == "&Rouge")

couleur = 2;

}

return true;

}


Les rubriques de DS de M

EPSIC


dS_de_M - 1998 - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN -