Cette version de MacLib est entièrement implantée en Java sur
la librairie AWT.
Dans sa forme actuelle, elle est conçue pour JDK, versions
1.1 à 1.4.
Cette version permet de gérer une fenêtre Text
mais elle ne l'implante pas (voir Utilisation d'une fenêtre Text).
Le fichier Demo_MacLib.java
est un exemple simple d'utilisation de MacLib.
Pour utiliser MacLib sur les machines de l'enseignement, il suffit de
compiler et d'exécuter normalement.
Soit, par exemple :
javac Demo_MacLib.java, pour la compilation, puis
java Demo_MacLib, pour l'exécution.
Le fichier Extends_MacLib.java
est le même exemple, mais dont l'écriture est simplifiée
en utilisant une sous-classe (par extends MacLib).
Le fichier Demo_GrafPort.java
est le même exemple, mais avec une écriture orientée objet
qui utilise la classe GrafPort.
Un programme peut initialiser et utiliser simultanément plusieurs
instances de GrafPort, associée chacune à sa propre
fenêtre.
La classe MacLib est statique et utilise une instance
implicite de GrafPort.
Enfin, le fichier Demo_Applet.java
montre comment installer un GrafPort dans le cadre d'une applet,
en utilisant la classe DrawingApplet.
Le dessin est réalisé par la méthode start()
de l'applet et il est ensuite maintenu automatiquement.
Les méthodes init() et paint() sont celles
définies par la classe DrawingApplet.
Si l'environnement le permet, une applet peut également instancier
directement des objets GrafPort qui seront attachés
à des fenêtres indépendantes.
DrawingApplet.java,
DrawingFrame.java,
DrawingStuff.java,
FontInfo.java,
GrafPort.java,
MacLib.java,
Point.java,
Rect.java,
et
RGBColor.java.
Pour que les commandes javac et java accèdent
au dossier d'installation xxx, il faut le déclarer par :
setenv CLASSPATH "xxx:."
De manière plus simple, on peut installer ces fichiers dans le répertoire courant, avec les programmes qui utilisent MacLib.
Text installée :
ShowText et SetTextRect sont
sans effet.
GetTextRect n'affecte pas le rectangle qui lui
est passé en paramètre.
HideAll iconifie la fenêtre
Drawing seulement.
Une fenêtre Text peut être passée au
contrôle de MacLib par un appel à la méthode
setText(Frame), ex :
import java.awt.Frame;
...
Frame frame = new Frame();
setText(frame);
ShowText();
Rect r = new Rect();
SetRect(r, 10, 50, 210, 250);
SetTextRect(r);
La classe TD implante une
fenêtre Text élémentaire avec la
méthode write(String), ...
Il faut également compiler les deux fichiers
Input.java,
et
Output.java.
Le fichier Test_IO.java
illustre les principaux usages de TD.
La touche Escape permet de faire monter EOF.
TD est une sous-classe de MacLib, pour utiliser les deux, il suffit de mettre
extends TD au lieu de extends MacLib.
Le fichier Events_TD.java
est un exemple simple d'utilisation conjointe de TD et MacLib.
Drawing visualise la partie
supérieure-gauche d'une page de 576*720 pixels qui sont tous
dessinés et mémorisés.
Les primitives relatives au type Pattern ne sont pas disponibles dans cette version.
Pour toutes suggestions, commentaires ou remarques, email : Philippe.Chassignet@polytechnique.fr