后台数据库的数据,通在过曲线图、饼形图、柱状图直观显示。比如有两种产品,每一种产品所占的比重、产品的合格率分布等...
VB通过控件很容易做到,不知java如何作!!
感谢您,swain()。

解决方案 »

  1.   

    applet+rmi 
    applet+javabean
    applet+servlet
      

  2.   


    由Servlet操作数据库,并建立ServerSocket,然后Applet建立Socket,和Server端的Servlet连接,进行数据传递。
      

  3.   

    http://www.csdn.net/expert/topic/168/168069.shtm
      

  4.   

    这是我在http://www.csdn.net/expert/Topic/143/143687.shtm查到的一些  ////////////////////////////////////////////////////////////////////////
      // drawKLine
      // Function : 绘制 K 线
      // Argument : g , width , pDayData , start , end
      //            g , Graphics
      //            width , 宽度
      //            pDayData , 逻辑值
      //            start  , 数组开始索引
      //            end    , 数组结束索引
      // Return  : no
      ////////////////////////////////////////////////////////////////////////
      public void drawKLine(Graphics g, int width, DayLine pDayData, int start, int end )
      {
            try
            {
                if( m_boxRect == null ¦¦ pDayData == null)
                    return;            // end - start;
                // len ++ ;            if( start >= end &brvbar;&brvbar; start < 0 )
                    return;            if( end >= pDayData.m_point .length )
                  end = pDayData.m_point.length -1 ;            boolean bIsUp = true;
                // g.setColor(PublicClass.m_FixTextColor);
                // CRect crect = new CRect();            int x[] = horiAxis.getScrValuesBySeralInteger( start, end );            Rectangle rect = new Rectangle() ;
                int rHalfWidth = width/2  ;            for(int i = start ; i <= end ; i++)
                {
                    rect.x = x[ i-start ] - rHalfWidth ;
                    rect.width = 2*rHalfWidth ;                if(pDayData.m_point[i].m_nOpenPrice <= pDayData.m_point[i].m_nClosePrice)
                    {
                      // 上涨
                      rect.y = vertAxis.getScrValue( pDayData.m_point[i].m_nClosePrice );
                      rect.height = vertAxis.getScrValue( pDayData.m_point[i].m_nOpenPrice);
                      g.setColor( Resource.COLOR_UPCOLOR );
                      bIsUp = true ;
                    }
                    else
                    {
                      // 下跌
                      rect.y = vertAxis.getScrValue( pDayData.m_point[i].m_nOpenPrice);
                      rect.height = vertAxis.getScrValue( pDayData.m_point[i].m_nClosePrice );
                      g.setColor( Resource.COLOR_DOWNCOLOR );
                      bIsUp = false ;
                    }                rect.height -=rect.y;                int iScrMaxPrice  = vertAxis.getScrValue( pDayData.m_point[i].m_nHighPrice );
                    int iScrMinPrice  = vertAxis.getScrValue( pDayData.m_point[i].m_nLowPrice) + 1;                g.drawLine( x[i-start], iScrMaxPrice, x[i-start], rect.y );
                    g.drawLine( x[i-start], rect.y+rect.height , x[i-start], iScrMinPrice);                if(! bIsUp )
                      if( rect.width <=0 &brvbar;&brvbar; rect.height <=0 )
                        g.drawLine( rect.x, rect.y, rect.x+rect.width, rect.y+rect.height );
                      else
                        g.fillRect( rect.x , rect.y, rect.width + 1, rect.height );                else    // 上涨
                      if( rect.width <=0 &brvbar;&brvbar; rect.height <=0 )
                        g.drawLine( rect.x, rect.y, rect.x+rect.width, rect.y+rect.height );
                      else
                      {
                        //g.setColor(Color.black);
                        //g.fillRect( rect.x, rect.y, rect.width, rect.height );
                        //g.setColor(PublicClass.m_UpColor);
                        g.drawRect( rect.x, rect.y, rect.width, rect.height );
                      }
                }            return;
            }
            catch(NullPointerException _ex)
            {
                return;
            }
      }
      

  5.   

    我刚做了一个通用的APPLET类,正是你所说的那种?要不要