JavaScool:DocCreationProgletExemple

De Sciencinfolycee
Révision datée du 20 août 2011 à 00:13 par Vthierry (discussion | contributions) (Panel.java)
Aller à : navigation, rechercher

Cette page a pour but d'expliquer comment créer une proglet concrètement. Elle présente une proglet d'exemple, affichant simplement un label, et permettant à l'utilisateur d'interagir avec ce dernier.

  • Le code est commenté et disponible dans une archive disponible ZIP.
  • Il peut être exécuter en lançant ce fichier JAR.

proglet.pml

Ce fichier donne la description de la proglet, le nom de son icône et les auteurs

 title="Exemple de «proglet»"
 author="Guillaume Matheron <guillaume.quest@gmail.com>"
 icon="sample.png"

sample.png

Cette image est le logo de la proglet. Elle peut avoir n'importe quel nom mais celui-ci doit être mentionné dans le fichier proglet.pml

Note : il est quasi-indispensable que cette image soit au format png transparent. Sans cela il sera très difficile dee l'intégrer sur le site sans affecter son design

help.xml

Ce fichier définit la documentation pour l'utilisateur. Le fichier est écrit en XML. L'aide quant à comment rédiger ce fichier est disponible ici.

Il est possible, de créer plusieurs fichiers d'aide XML, mais ils seront tous convertis au format HTML, dans un fichier d'extension .htm. Toutes les pages d'aide peuvent être liées les unes aux autres, en utilisant l'extension .htm.

Note : le nom du fichier help.xml est fixé par les spécifications d'une proglet.

Panel.java

C'est le fichier qui contient la description de l'objet graphique qui incarne la proglet. Cette classe Java implémente le code à exécuterau lancement de la proglet (initialisation des variables, lancer des tâches, etc..).

La classe Panel doit hériter d'un composant graphique tel que javax.swing.JPanel.

Notes: le nom de la classe Proglet est fixé par les spécifications

Dans notre exemple les éléments clés sont:

package org.javascool.proglets.sampleCode;
import javax.swing.JPanel;
import javax.swing.JLabel;

public class Panel extends JPanel {
  // Construction de la proglet
  public Panel() {
    // On crée un label
    label = new JLabel("");
    // Et on l'ajoute au panel
    add(label);
  }
  // Ce label sera utilisé par la routine Functions.setMessage()
  JLabel label;
}

ProgletPanel.java

Ce fichier définit le panel qui sera affiché dans l'applet. La classe ProgletPanel doit donc étendre la classe java.awt.Panel.

Lors de sa construction elle crée un label et l'affiche en haut du panel. Elle définit aussi une méthode permettant de changer le texte du label, pour respecter l'encapsulation.

import java.awt.Panel;
import java.awt.Label;
import java.awt.BorderLayout;
import java.lang.String;

public class ProgletPanel extends Panel {
	/** Correspond au label affiché dans le panel de la proglet */
	private Label label;
	
	/** Construit un nouveau panel */
	public ProgletPanel() {
		// On crée un label
		label=new Label("");
		// Et on l'ajoute au panel
		add(label,BorderLayout.NORTH);
	}
	
	/** Change le texte affiché dans le label */
	public void setText(String text) {
		label.setText(text);
	}
}

Functions.java

Ce fichier définit les fonctions directement accessibles depuis Java's Cool, et qui permettent donc d'interagir avec la proglet

Dans cet exemple, nous définirons une méthode getText(String) qui permettra de changer le texte affiché dans le panel de la proglet. Toutes les méthodes de Fonctions doivent être statiques pour être accessibles depuis Java's Cool.

import java.lang.String;

public class Functions {
	/** Permet de changer le texte affiché sur le panel de la proglet */
	public static void setText(String text) {
		Panel.getPanel().setText(text);
	}
}