import java.awt.Container; import javax.swing.JApplet; import javax.swing.JRootPane; import javax.swing.JPanel; import javax.swing.JFrame; /** * Classe AppliApplet * Permet l'utilisation d'un programme dont l'interface * utilisateur graphique est contenue dans un JPanel * comme une application ou bien comme une applette * * @author: D.Bureau * @version: 1.1 */ public class AppliApplet extends JApplet { /** Méthode retournant le JPanel */ private static JPanel getPanel() { return /* a` comple'ter */ ; } ////////////////////////////////////////////////////////////////////////////////// // NE RIEN MODIFIER A PARTIR D'ICI ////////////////////////////////////////////////////////////////////////////////// // Appelée par le navigateur ou le visualiseur afin de signaler à l'Applet // qu'il est maintenant pris en charge par le système. // Il est garanti que ceci précédera le premier appel de la méthode start. public void init() { // Il y a un conflit de sécurité avec les navigateurs courants (incluant // Netscape & Internet Explorer) qui interdisent l'accès à la queue // d'événements d'AWT --ce dont les JApplets ont besoin au démarrage. JRootPane rootPane = this.getRootPane(); rootPane.putClientProperty("defeatSystemEventQueueCheck", Boolean.TRUE); // "dessine" la calculatrice dans la fenêtre de l'applette setPanel( this ); } // Appelée par le système d'exploitation en lui passant // éventuellement les arguments de la ligne de commande public static void main( String[] args ) { // création d'une fenetre graphique JFrame win = new JFrame(); win.setBounds( 10, 10, 200, 300 ); // "dessine" la calculatrice dans la fenêtre principale setPanel( win ); } // ajout à l'applette ou à la fenêtre graphique // du JPanel constituant l'IHM private static void setPanel( Container c ) { c.add( getPanel() ); c.setVisible(true); } } // AppliApplet