Une applet est un appel depuis un document HTML à au moins une classe Java qui elle même fera appel à d'autres classes Applet 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 les navigateurs.
note : seuls les navigateurs reçents comprennent Java 1.1
Le but de ce document n'est pas de définir toutes les classes Java et toutes les possibilité de Java ( menu, trantement de fichiers, etc.) mais de donner quelques bases pour démarrer "en douceur".
textes:
- inscrire du texte ( dessiner du texte)
dessins
- dessine des lignes :
- formes:
- dessine des polygones (courbes - sinus)
- divers - oval, arc -(exemples)
- rafraîchissement du graphique
création de conrôles
- Etiquettes - texte sur une ligne - (Label)
- Champs texte - un rectangle pour entrer un texte - (TextField)
- zone de texte - idem champ texte mais sur plusieurs lignes - (TextArea)
- cases à cocher - bouton radio - (Checkbox)
- boutons d'option - bouton radio mais un seul actif par groupe - (CheckboxGroup)
- Listes déroulantes - choix d'une option parmis plusieurs dont une seule est visible "au repos" (Choice)
- zones de listes -choix d'options parmis plusieurs dont plusieurs sont visibles "au repos" (List)
- Boutons de commande - (Button)
gestion des événements de contrôles
- case à cocher - sélection de boutons radio
- bouton d'option - sélection d'un bouton radio
- liste déroulante - sélection d'une option dans une liste dont seul la première option est visible
- Zone de listes - sélection d'options dans une liste dont plusieurs options sont visibles
- bouton de commande
Souris
Application dans une fenêtre
- introduction
- gestion de la fenêtre
- menu - affichage
- menu - gestion des commandes
Introduction :
Pour créer une Applet, il faut un éditeur de texte (même rudimentaire). Il faut une compilateur et un peu de patience.
Le document initial doit avoir l'extention .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\jdk1.1.4\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 fichiers que vous créez vont obligatoirement faire appel à d'autres classes déjà existante (fournie avec Java). Donc votre document doit avoir ce type de codes:
import java.applet.Applet;
import java.awt.*; // contient les méthodes graphiqes
import D_autres.class; // si besoin est...
public class NOM_JUSTE extends java.applet.Applet // il faut ce qu'il faut ..
{
fonctions et instructions
}
L'appel de l'Appet dans le document HTML est quelque chose comme :
<APPLET CODE="NOM_JUSTE.class" WIDTH="200" HEIGHT="300">
autoriser java sur votre navigateur
</APPLET>
note : widht donne la largeur en pixels reservée pour l'affichage de l'Applet
height donne la hauteur en pixels reservée pour l'affichage de l'Applet
si l'Applet ne se trouve pas dans le même dossier / répertoire que le document HTML, on doit fournir son adresse avec CODEBASE ="ici"
le texte entre les deux tags sera affiché si l'applet ne le peut pas..
Les classes auront la structure suivante:
public class D_autre
{
fonctions et instructions
}
définition d'une classe avec ou sans passage de paramètres | commentaires : |
public class Courant
|
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.applet.Applet;
import java.awt.*;
import Courant;
public class Pour_voir extends java.applet.Applet // il faut ce qu'il faut ..
{
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 extends java.applet.Applet // il faut ce qu'il faut ..
{
public void paint (Graphics g)
{
g.drawString("ouf, ça marche",10,20); // affiche le "texte" à 10 du bord G et à 20 du haut
}
}
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 choixcouleur extends java.applet.Applet
{
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
Avec Java on peut passer des paramètres depuis la document HTML à l'Applet Java.
document HTML |
récupération sur l'Applet |
<APPLET CODE ="nom.class" WIDHT="100" HEIGHT="100"> <PARAM NAME=nom1 VALUE="bonjour"> <PARAM NAME=nom2 VALUE=400> navigateur incompatible </APPLET> |
String param1; int param2; public void init() {
} |
note: il est possible de mettre les param dans le même tag que celui qui appelle l'Applet.
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:
|
|
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)
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)
méthodes de la classe java.awt.Graphics
Public absttract void drawRoundRect (int x1, int y1, int largeur, int hauteur, int diamelipshori, int diamelipseverti)
exemple d'instuction dans une fonction :
g.drawRoundRect(0,0,27,80,5,5);
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çé
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é
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
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é
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é
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
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 extends java.applet.Applet // il faut ce qu'il faut ..
{
fonctions et instructions
public void XYZ()
{
instructions...
repaint();
}
public void paint (graphics g)
{
g. drawSting(blut, nouveau_x, nouveau_y);
instructions...
}
}
bouton de gauche de la souris enfoncé
constructeur : public abstract void mousePressed (MouseEvent evt) Interface : MouseListener
exemple:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
Public class testsouris extends java.applet.Applet implements MouseListener
{
initialisations et instructions
public void mousePressed (MouseEvent evt)// activé par l'appui sur le bouton de la souris
{
AbscisseX=evt.getX();//mémorise le point x dans une variable AbscisseX
OrdonneeY=evt.getY(); //mémorise le point y dans une variable OrdonneeY
instructions...
}
suite... et fin
}
bouton de gauche de la souris relâché
constructeur : public abstract void mouseReleased (MouseEvent evt) Interface : MouseListener
exemple:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
Public class testsouris extends java.applet.Applet implements MouseListener
{
initialisations et instructions
public void mouseReleased (MouseEvent evt)// activé par le relâchement du bouton de la souris
{
AbscisseX=evt.getX();//mémorise le point x dans une variable AbscisseX
OrdonneeY=evt.getY(); //mémorise le point y dans une variable OrdonneeY
instructions...
}
suite... et fin}
la souris entre dans la zone graphique
constructeur : public abstract void mouseEntered (MouseEvent evt) Interface : MouseListener
exemple:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
Public class testsouris extends java.applet.Applet implements MouseListener
{
initialisations et instructions
public void mouseEntered (MouseEvent evt)// activé par l'entrée de la souris dans la zone graphique
{
instructions...
}
suite... et fin}
note: il est conseillé de la déclarer pour implémeneter complétement l'interface MouseListener, même si cette fonction n'a aucune instruction [ public void mouseEntered (MouseEvent evt) {}]
la souris sort de la zone graphique
constructeur : public abstract void mouseExited (MouseEvent evt) Interface : MouseListener
exemple:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
Public class testsouris extends java.applet.Applet implements MouseListener
{
initialisations et instructions
public void mouseExited (MouseEvent evt)// activé par la sortie de la souris dans la zone graphique
{
}
suite... et fin}
note: il est conseillé de la déclarer pour implémeneter complétement l'interface MouseListener, même si cette fonction n'a aucune instruction [ public void mouseEnxited (MouseEvent evt) {}]
constructeur : public abstract void mouseMoved (MouseEvent evt) Interface : MouseMotionListener
exemple:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
Public class testsouris extends java.applet.Applet implements MouseListener, MouseMotionListener
{
initialisations et instructions
public void mouseMoved (MouseEvent evt)// activé par la sortie de la souris dans la zone graphique
{
}
suite... et fin}
note: il est conseillé de la déclarer pour implémeneter complétement l'interface MouseMotionListener, même si cette fonction n'a aucune instruction [ public void mouseMoved (MouseEvent evt) {}]
la souris se déplace bouton enfoncé
constructeur : public abstract void mouseDragged (MouseEvent evt) Interface : MouseMotionListener
exemple:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
Public class testsouris extends java.applet.Applet implements MouseListener, MouseMotionListener
{
initialisations et instructions
public void mouseDragged (MouseEvent evt)// activé par la sortie de la souris dans la zone graphique
{
abscisseX [compteur]= evt.getX();
ordonneeY[compteur]= evt.getY();
compteur++;
}
suite... et fin}
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 (String chaîne _à_afficher, int nombre_de caractères, )
exemple :
TextField Champ1 = new TextField ("ceci est un texte contenu dans un champ",10);
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.getMinimumSize () -> (objet Dimension) renvoie la taille minimale pour le texte du champ
TextField.getPreferredSize () -> (objet Dimension) renvoie la taille optimale pour le texte du champ
TextField.getEchoChar () -> (char) renvoie le caractère de masquage
TextField.setEchoChar (char caractère_de_masquage) -> (char)défini le caractère de masquage
exemple : Champ1.setEchoChar ('*');
TextField.paramString () -> (String) renvoie le texte du champ
TextField.getText () -> (String) renvoie le texte du champ
exemple : if (Champ1.getText().equals("blut"));
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.insert (String chaîne, int position) -> insert la 'chaîne' dans la zone à 'position'
TextArea.getMinimumSize () -> (objet Dimension) renvoie la taille optimale pour le texte de la zone
exemple : variable_int = Integger.toString(Zone1.getMinimumSize().height,10);
TextArea.getPreferredSize () -> (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.replaceRange (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é
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();
exemple :
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class reblut extends Applet implements ItemListener
{
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);
variante1.addItemListener(this);//cette méthode capture les événements de la case à cocher
variante2.addItemListener(this);
}
public void itemStateChanged(ItemEvent e)// activée à chaque changement d'une case à cocher
{ traitement;}
suite et fin }
constructeurs ( classe java.awt.CheckboxGroup) de l'objet CheckboxGroup (Case à cocher)
public CheckboxGroup ()
méthode de la classe Checkbox :
Checkbox.setSelectedCheckbox (Checkbox nom) -> (objet) sélectionne un objet du groupe
Checkbox.getSelectedCheckbox () -> (String) renvoie l'objet sélectionné
exemple : variable_Chaîne = groupe1.getSelectedCheckbox().getLabel() // retourne le texte sélectionné dans groupe1
String.toString () -> renvoie une chaîne qui représente les valeurs du groupe d'option.
exemple :
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class reblut extends Applet implements ItemListener
{
Label texte1 = new Label ("voulez-vous cette case");
Label texte2 = new Label ("ou peut-être celle-ci");
CheckboxGroup groupe1 = new CheckboxGroup ();
Checkbox variante1 = new Checkbox ("1er texte à choix", groupe1, false);
Checkbox variante2 = new Checkbox ("2eme texte à choix", groupe1, true);
public void init()
{
add (texte1);
add (variante1);
add(texte2);
add (variante2);
variante1.addItemListener(this);//cette méthode capture les événements de la case à cocher
variante2.addItemListener(this);
}
public void itemStateChanged(ItemEvent evt)// activée à chaque changement d'une case à cocher
{ traitement;}
suite et fin }
constructeurs ( classe java.awt.Choice) de l'objet Choice (Liste déroulante)
public Choice ()
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 .
exemple :
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class reblut extends Applet implements ItemListener
{
Label texte1 = new Label ("voulez-vous cette ceci");
Choice choix = new Choice ();
public void init()
{
add (texte1);
add (choix);
choix.addItem("choix 1");
choix.addItem("choix 2");
choix.addItemListener(this);//cette méthode capture les événements de la liste
}
public void itemStateChanged(ItemEvent evt)// activée à chaque changement de la liste
{
String choisi = evt.Item();
suite;
}
suite et fin }
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
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
exemple :
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class reblut extends Applet implements ActionListener
{
Label texte1 = new Label ("voulez-vous cette ceci");
List Liste = new List (2,true);
public void init()
{
add (texte1);
add (Liste);
Liste.addItem("choix 1");
Liste.addItem("choix 2");
Liste.addActionListener(this);
}
public void actionPerformed(ActionEvent evt)
{
String choisi = Liste.getSelectedItems();
suite;
}
suite et fin }
constructeurs ( classe java.awt.Button) de l'objet Button (Bouton)
public Button (String Nom_de_l'étiquette_dans_le_bouton)
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.
exemple :
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class reblut extends Applet implements ActionListener
{
Button presse1 = new Button ("oui");
Button presse2 = new Button ("non");
public void init()
{
add (presse1);
add (presse1);
presse1.addActionListener(this);
presse1.setActionCommand("oui");
presse2.addActionListener(this);
press21.addActionCommand("non");
}
public void actionPerformed(ActionEvent evt)
{
if (evt.getActionCommand().equals("oui"))
suite;
}
suite et fin }
Pour utiliser Java non pas dans le navigateur, mais dans une fenêtre 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.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Fen11 extends Frame implement WindowListener// constructeur
{
// voir gestion de la fenêtre
public static void main (String args[]) // procédure principale
{
Fen11 Fenster=new Fen11();// fenêtre sans titre - Untitled
Fenster.show();// affiche l'objet fenêtre
Fenster.addWindowListener(Fenster);
...}
}
public class Fen11 extends Frame implements WindowListener// constructeur
{
public Fen11 ()
{
setSize(240,300);
}
public void windowClosing (WindowEvent event) // gestion de l'évenement case de fermeture
{
dispose(); // ferme la fenêtre
}
public void windowClosed (WindowEvent event)
{}
public void windowDeiconifield (WindowEvent event)
{}
public void windowActivated (WindowEvent event)
{}
public void windowDeactivated (WindowEvent event)
{}
public void windowOpoened (WindowEvent event)
{}
}
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.setIconImage (Image image_icone) -> definit 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.isResizable () -> renvoie true si la fenêtre peut être redimensionnée
Frame.setResizable (boolean redim) -> redimensionnable si redim=true
Fenster.setResizable (false);
Frame.Component.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.*;
import java.awt.event.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Menu_Frame extends java.applet.Applet
{
public void init ()
{
Frame fenster = new Menu_fenster ();
fenster.show();
}
}
class Menu_fenster extends Frame implements ActionListener, MouseListener, MouseMotionListener
{
int couleur;
checkboxMenuItem C1;// 1ère comande du menu couleur
checkboxMenuItem C2;
public Menu_fenster ()
{
set Title("titre de la fenêtre");
MenuBar barre1 = new Menubar();
Menu menFich = new Menu ("&Fichier"); // défini un titre de menu :Fichier
Menu menCou = new Menu("&Couleur"); // défini un titre de menu : Couleur
barre1.add (menFich);// met le titre dans la barre
barre1.add (menCou); //met le titre dans la barre
MenuItem F1 = new MenuItem ("&Quitter") // définit une commande
C1 = new checkboxMenuItem ("&Noir") // définit une commande
C2 = new checkboxMenuItem ("&Rouge") // définit une commande
menFich.add (F1); // met la commande dans le menu
F1.addActionListener (this);
F1.setActionCommand ("&Quitter);
menFich.add (C1); // met la commande dans le menu
C1.addActionListener (this);
C1.setActionCommand ("&Noir);
menuCou.add (C2); // met la commande dans le menu
C2.addActionListener (this);
C2.setActionCommand ("&Rouge);
setMenuBar (barre1);
addMouseListener (this);
addMouseMotionListener(this);
resize(250,300);
C1.setState (true); // couleur noir par défaut
}
}
Ce sera plus simple avec un exemple en rapport avec l'exemple précédent:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.MouseListener
import java.awt.event.MouseEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Fenetre extends Frame implements WindowListener,ActionListener,MouseListener,MouseMotionListener
{
// début comme ci-dessus ....
public void actionPerformed (ActionEvent evt) // événement liés au menu
{
if (evt.getActionCommand().equals("&Quitter"))
dispose ();
if (evt.getActionCommand().equals("&Noir"))
couleur = 1;
C1.setState(true);
C2.setState(false);
if (evt.getActionCommand().equals("&Rouge"))
couleur = 2;
C2.setState(true);
C1.setState(false);
}
}
dS_de_M - 1999 - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN - FIN -