Applet java

alberta -  
 Utilisateur anonyme -
Bonjour,
J'ai lancer une applet à partir d'une page html
mais s'afiche que le rectangle de l'applet
qu'elle est le pb ?

html:
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
TODO write content

<APPLET code=" CalVenta.class" width="500" height="200">
Applet java qui fait coucou au Hub...
</APPLET>
</body>
</html>


Applet:

package applet;

// Votre premiere application en Java
public class NewApplet {
public static void main (String[] args){
System.out.println("Hello World");


}
}

merci....
A voir également:

3 réponses

BadGuitarist Messages postés 367 Date d'inscription   Statut Membre Dernière intervention   27
 
Bonsoir Alberta,

La classe NewApplet n'est pas une applet ... c'est une classe standard.

Voici comment la modifier pour en faire une applet :

package applet;

import java.awt.*;
import java.io.BufferedReader;
import java.io.FileReader;
import javax.swing.JApplet;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class NewApplet extends JApplet implements Runnable
{
  public boolean    appletActif=true;             // L'applet a-t-il bien ete demarre

  private Thread    thread;                       // Gestion de la lecture du fichier
  private boolean   running;                      //
  private long      intervalle;                   //

  private Container cp;
  private JTextArea zoneTexte = new JTextArea();  //


  public void lireInformations()
  {
    zoneTexte.setVisible(false);
    zoneTexte.setText("Hello World);
    zoneTexte.setVisible(true);
  }

  public void init()
  {
  	String  param;
    int     lZoneTexte;
    int     hZoneTexte;
    String  fontType;
    int     fontStyle;
    int     fontTaille;

    param=getParameter("l_zone_affichage");
    lZoneTexte=(param==null?500:Integer.parseInt(param));
    param=getParameter("h_zone_affichage");
    hZoneTexte=(param==null?200:Integer.parseInt(param));
    cp = getContentPane();
    cp.add(BorderLayout.CENTER, zoneTexte);
    zoneTexte.setVisible(false);
    zoneTexte.setLineWrap(true);
    zoneTexte.setWrapStyleWord(true);
    cp.setBackground(Color.WHITE);
    zoneTexte.setBackground(Color.WHITE);
    zoneTexte.setForeground(Color.BLACK);
  	param=getParameter("Font_Type");
    fontType=(param==null?"Arial":param);
  	param=getParameter("Font_Style");
    fontStyle=(param==null?0:Integer.parseInt(param));
  	param=getParameter("Font_Taille");
    fontTaille=(param==null?14:Integer.parseInt(param));
    zoneTexte.setFont(new Font(fontType, fontStyle, fontTaille));
    zoneTexte.setSize(new Dimension(lZoneTexte, hZoneTexte));

    //JScrollPane ascenseur = new JScrollPane(zoneTexte);
    JScrollPane ascenseur = new JScrollPane();            // remplace ligne précédante
    ascenseur.setPreferredSize(new Dimension(lZoneTexte-30, hZoneTexte-30));
    ascenseur.getViewport().setView(zoneTexte);   // ligne ajoutée
    cp.add(ascenseur);

    // Rafraichissement du message (par défaut : toutes les 30 secondes)
    param=getParameter("frequence");
    intervalle=(param==null?500*1000:Long.parseLong(param));  //Tempo. de 30 secondes = 30 000 millisecondes, i.e.  30 x 1s
  }


	/**
	 * Démarrage de l'applet
	 */
  public void start()
  {

    lireInformations();

    if(thread==null)
    {
      thread=new Thread(this);
      thread.start();
      running=true;
    }
  }

	/**
	 * Arrêt de l'applet
	 */
  public void stop()
  {
    if(thread!=null)
    {
      running=false;
      //thread.stop();
      thread=null;
    }
  }


	/**
	 * Démarrage du thread
	 */
  public void run()
  {
    while(running)
    {
      lireInformations();
      try
      {
        thread.sleep(intervalle);
      } catch(InterruptedException e)   {       }
    }
  }

  
  public String getAppletInfo()
  {
    if(appletActif)
      return "APPLET_ACTIVE";
    else
      return "APPLET_NONACTIVE";
  }
}



Je te laisse vérifier avec Google les spécifications d'une classe Applet.
Ce n'est pas seulement une classe Java;
De mémoire (=> à vérifier), elle doit :
- étendre la classe Applet ou JApplet
- être composée de certaines méthodes comme init(), start() ...
Quand on écrit une applet, il faut aussi vérifier son cycle de vie : quand on rafraichit la page, est-ce que la méthode init() est déclenchée ? ...

Remarque :
Le code que je t'ai fourni peut être simplifié : je n'ai fait que reprendre un extrait de code d'un programme que j'avais développé => tout n'est pas obligatoire.

Bon courage dans tes recherches.
1
Utilisateur anonyme
 
Salut,

Tu peux faire ceci:


   import javax.swing.JApplet;
   import java.awt.Graphics;
   import java.awt.Color;
   import java.awt.Font;
   // ou bien entendu
   //import java.awt.*; 

    public class NewApplet  extends JApplet
   {
      private static Font font22;
      
       
       public void init()
      {
         font22 = new Font("Arial", Font.BOLD, 22); 
         repaint();
      
      }
      
       public void paint(Graphics g)
      {
         int x = 20;
         int y = 52;
         g.setFont(font22);
         g.setColor(Color.red);
         g.drawString("Hello World", x, y);
      
      } 
   }



Avec cet html:

<html>
<head>
<title>
Applet java qui fait coucou au Hub...

</title>
</head>

<body>
<APPLET CODE=NewApplet.class WIDTH=200 HEIGHT=100></APPLET>
</body>

</html>

Que tu peux nommer par exemple NewApplet.html

Pour executer tu cliques (double) sur NewApplet.html

Cordialement,

Dan
0
BadGuitarist Messages postés 367 Date d'inscription   Statut Membre Dernière intervention   27
 
Bonjour Danimo,

Je demande à Alberta un petit travail autour du code que je lui ai donné.
Visiblement, Alberta n'a fait aucune recherche pour savoir ce qu'est une applet et comment cela se code.
Je ne crois pas que c'est lui rendre service que de lui apporter la réponse à mon post ;-|

PS :
si cela t'intéresse, Alberta a aussi posé une question sur les midlet ! Et là, je n'interviendais point car je ne connais pas encore cette technologie.
0
Utilisateur anonyme
 
Salut BadGuitarist,

Ma réponse n'est que le "squelette" d'un applet et même s'il s'éxecute rien n'empèche Alberta de suivre tes conseils de recherche...

Cordialement,

Dan
0