Pessoal, boa tarde.

Trabalho com Lotus Notes e um de nossos sistemas (acessado exclusivamente
via browser web) cont�m um Applet java. Um fonte testado e validado.
Para quem tem um pouco de intimidade com o Notes, existe um formul�rio com
o applet inserido.
Quando o gr�fico deve ser mostrado, uma rotina varre a base e coloca os
dados corretos num novo documento, criado com base neste formul�rio.

O gr�fico consiste num c�rculo (gr�fico pizza) e uma legenda, com pequenos
quadrados coloridos e texto est�tico.
Ao que parece, se o gr�fico for plotado e, atrav�s dos links, navegar-se
at� a p�gina de op��es e mandar plotar novamente, ocasionalmente o c�rculo
n�o � plotado, nem os quadrados da legenda. Fica apenas o texto.
Isso s� acontece no browser. No cliente Notes 5.0, funciona ok.

O cliente roda IE 5.5, mas j� testamos tamb�m no 5.0 e no 6.0
Nenhuma exce��o � reportada no console.

Segue trecho do c�digo abaixo. O que se observa � que os drawString() do
m�todo que desenha a legenda (drawIndex) aparecem, mas o restante n�o. O
motivo � que � desconhecido.

Como n�o tenho intimidade nenhuma com programa��o visual em Java, posso ter
feito algo errado.

Em fun��o do deadline, esta quest�o � urgente. Conto com a ajuda de voc�s.

Obrigado e um abra�o
Augusto

========

//wedges[] � um array de elementos PieItem.
//wedgeColor[] � um array de elementos Color, de mesmo tamanho que PieItem.


   class PieItem {

      //Properties
      public int arcSize;  // fraction transformed in degrees. Used by
fillArc
      public double frac;  // each one has a number
      public String label; // a label
      public int color_R;  // and a color (RGB format - an int for each
parameter
      public int color_G;
      public int color_B;


      // Constructor
      PieItem (String s) {
         StringTokenizer t = new StringTokenizer(s, ",");
         frac = Double.valueOf(t.nextToken()).doubleValue();
         label = t.nextToken();
         color_R = Integer.valueOf(t.nextToken()).intValue();
         color_G = Integer.valueOf(t.nextToken()).intValue();
         color_B = Integer.valueOf(t.nextToken()).intValue();
      } // constructor

   } // PieItem



//A classe PieView, que estende Applet, tem os seguintes m�todos (mais
importantes):


     public void paint(Graphics g) {

        int startDeg = 0;
        int arcDeg;
        int x, y;
        double angleRad;

        g.setColor(Color.lightGray);            // shadow

g.fillOval(pieBorderWidth+3,pieBorderWidth+3,pieDiameter,pieDiameter);
        g.setColor(Color.gray);                 // "other" is gray
        g.fillOval(pieBorderWidth,pieBorderWidth,pieDiameter,pieDiameter);

        int wci = 0;
        int i;


        // Desenho das fatias
        for (i = 0; i<this.wedges.length; i++) {
                  //arcDeg = (int) (((this.wedges[i].frac / total) * 360) +
0.5);
                  arcDeg = this.wedges[i].arcSize;
                  g.setColor(wedgeColor[wci++]);
                  g.fillArc(pieBorderWidth, pieBorderWidth, pieDiameter,
pieDiameter, startDeg, arcDeg);

           startDeg += arcDeg;
        } // draw wedges


        // Constru��o da legenda
        x = 2 * pieBorderWidth + pieDiameter;
        y = pieBorderWidth;
        NumberFormat pf = NumberFormat.getPercentInstance();
            long auxiliar = 0;
            int left = 0;
            int right = 0;
        for (i = 0; i<this.wedges.length; i++) {
                  auxiliar = 10000 * this.wedges[i].arcSize / 360;
                  left = (int) auxiliar / 100;
                  right = (int) auxiliar % 100;

                  drawIndex(g, wedgeColor[i], wedges[i].label + " ("
                  + left + "," + right + "%)", x, y + 12 * i);
            }

     } // paint()


    public void drawIndex(Graphics g, Color color, String label, int x, int
y) {
      g.setColor(Color.black);
            g.drawRect(x,y,7,7);
            g.setColor(color);
            g.fillRect(x+1,y+1,6,6);
            g.setColor(Color.black);
            g.drawString(label, x+13,y+7);
    }

========

============================
Augusto C�sar Guagliano
Gerente de Projetos
Infosoftware Consulting
Office: +55 19 3256 4131
http://www.infosoftware.com.br
============================


------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a