iplusplus
Messages postés4Date d'inscriptionmercredi 9 avril 2008StatutMembreDernière intervention19 mai 2008
-
16 mai 2008 à 23:15
iplusplus
Messages postés4Date d'inscriptionmercredi 9 avril 2008StatutMembreDernière intervention19 mai 2008
-
19 mai 2008 à 11:10
Bonjour à tous,
Je me suis mis à Java il y a quelques jours et j'ai un problème avec une applet qui se compile sans problème mais fait planter le navigateur.
Merci si vous pouvez éclairer ma pauvre lanterne; voici les détails...
L'applet en question doit permettre d'indiquer des rendements partiels dans des champs pour calculer un rendement global (par multiplication).
J'ai lu en diagonale le code qui précède et il m'a semblé correct.
J'ai supprimé le package Utilities; au début du code, ne voyant pas trop à quoi cela correspondait --l'inclusion dans un package je suppose-- et j'ai rajouté un second constructeur de NumField (à la suite du premier), afin qu'en créant un NumField on puisse spécifier sa taille (paramètre size) :
public NumField(int size)
{
super(size); // Call the superclass constructor
super.setText("");
setEditable(false); // Don't let the user in
hasDecimalPoint = false;
setBackground(Color.white);
}
Quant au prototype de l'applet, le voici :
import java.applet.*;
import java.awt.*;
public class rendement_applet extends Applet {
public void init() {
setLayout(new BorderLayout());
// Crée le titre
Label titre = new Label("Calcul du rendement");
add("North",titre);
// Crée le panneau des rendements partiels
Panel p1 = new Panel();
p1.setLayout(new GridLayout(5,2));
iplusplus
Messages postés4Date d'inscriptionmercredi 9 avril 2008StatutMembreDernière intervention19 mai 2008 19 mai 2008 à 11:10
Je pense que l'erreur était due à un mauvais constructeur pour NumField (sous-classe de TextField).
public NumField(int size) // Remplacer int par String {
super(size); // Call the superclass constructor
super.setText("");
setEditable(false); // Don't let the user in
hasDecimalPoint = false;
setBackground(Color.white);
}
Entretemps, j'ai modifé mon applet. Donc difficile de dire si la correction de l'erreur aurait suffit à résoudre le problème.