[java]pb avec barCharts

Résolu/Fermé
domxaline - 9 janv. 2013 à 09:36
 domxaline - 9 janv. 2013 à 10:40
Bonjour,
le programme suivant donne pas le résultat que je veux;
dans l'output tous les bar sont la même taille,quelqu'un peut m'aider svp
import java.awt.*;
import java.applet.*;
public class BarChart extends Applet
{
 int n=0;
 String label[];
 int value[];
 public void init()
 {
	 try
	 {
		 n=Integer.parseInt(getParameter("columns"));
		 label=new String[n];
		 value=new int[n];
		 
		 label[0]=getParameter("label1");
		 label[1]=getParameter("label2");
		 label[2]=getParameter("label3");
		 label[3]=getParameter("label4");
		 
		 value[0]=Integer.parseInt(getParameter("c1"));
		 value[1]=Integer.parseInt(getParameter("c2"));
		 value[2]=Integer.parseInt(getParameter("c3"));
		 value[3]=Integer.parseInt(getParameter("c4"));
	 }
	 catch(NumberFormatException e)
	 {
		 
	 }
 }
 public void paint(Graphics g)
 {
	 for(int i=0;i<n;i++)
	 {
		 g.setColor(Color.red);
		 g.drawString(label[i],20,i*50+30);
		 g.fillRect(50,i*50+10,value[i],40);
	 }
 }
}

<html>
<applet
code=BarChart.class
width=300
height=250>

<param name="columns" value="4">

<param name="c1" value="110">
<param name="c2" value="150">
<param name="c3" value="100">
<param name="c4" value="170">

<param name="label1" value="91">
<param name="label2" value="92">
<param name="label3" value="93">
<param name="label4" value="94">

</applet>
</html>

merci d'avance



A voir également:

4 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
9 janv. 2013 à 09:49
"dans l'output tous les bar sont la même taille"
Moi je n'ai pas ce problème : barchart.png, je n'ai portant rien changer au code !
0
j'ai compris mon erreur
quand j'écris dans le cmd:
BarChart.html ce dernier ouvre un web page de dans tous les bar sont les même taille.
quand j'écris appletviewer BarChart.html
j'ai reçu le résultat que j'ai voulu
pouvez vous me dire pourquoi ce différence svp
merci d'avance
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
Modifié par KX le 9/01/2013 à 10:20
Il n'y a pas de raison que cela change, moi ça fonctionne aussi bien sur Eclipse que sur les navigateurs Internet Explorer/Chrome/Firefox.

Remarque : c'est une très mauvaise habitude de ne rien mettre du tout dans le try/catch comme tu l'as fait, car il y a peut-être une exception qui s'affiche mais on on en a aucune trace car tu l'as masqué (ce qui rend le problème difficile à corriger)

Je te proposes de modifier ta méthode init comme ceci :

public void init()
{
    try
    {
        ...
    }
    catch(Exception e)
    {
        showException(e);
    }
}

Avec la méthode showException, qui comme son nom l'indique, va afficher cette exception, par exemple comme ceci :

public void showException(Exception e)
{
    e.printStackTrace();
    StringBuilder trace = new StringBuilder(e.toString());
    for (StackTraceElement element : e.getStackTrace())
        trace.append("\n        ").append(element);
    JOptionPane.showMessageDialog(this, trace.toString(), e.getClass().getName(), JOptionPane.ERROR_MESSAGE);
}
La confiance n'exclut pas le contrôle
0
merci beaucoup
0