⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 在网页上发布统计曲线.htm

📁 在网页上发布统计曲线
💻 HTM
📖 第 1 页 / 共 3 页
字号:
            Plot类构造主要基于以下几点考虑。 <BR>&nbsp;&nbsp;&nbsp; (1)派生于Applet 
            <BR>&nbsp;&nbsp;&nbsp; 一个Java小程序有且只有一个类派生于Applet,这就好像在MFC中 
            <BR>,必须有且只有一个类派生于CWinApp一样。另外,与MFC程序不一样的 <BR>是,不管包含派生于Applet类的源程序文件( 
            .java)命名为什么,生成 <BR>的供网页使用的字节码文件(.class)只与该派生类同名,而与源文件 
            <BR>名无关,这一点容易引起混淆。打个比方,如果包含Plot类的文件为Pl 
            <BR>otTest.java,而编译生成的字节码文件名为Plot.class,而不是PlotT 
            <BR>est.class。最后,Plot必须声明为public,这是由于一个编辑单元必 <BR>须有且只有一个类声明为public。 
            <BR>&nbsp;&nbsp;&nbsp; public class Plot extends Applet 
            <BR>&nbsp;&nbsp;&nbsp; { <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...... 
            <BR>&nbsp;&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp; (2)用户界面 
            <BR>&nbsp;&nbsp;&nbsp; 目前,Java在java.awt中提供小程序的用户界面所需要的接口和 
            <BR>类(共42个类和2个接口),其中实现了我们在Windows中见到的各种用 
            <BR>户界面,比如,菜单、对话框,以及各种控件,如按钮、列表框、复选框 
            <BR>、单选框、编辑框、组合框等。鉴于本程序要求从3组数据中选择一 
            <BR>组进行绘制,需要选用单选框控件。单选框在java.awt中用Checkbox 
            <BR>和CheckboxGroup两个类联合实现:当Checkbox单独使用时,它是复选 
            <BR>框;而把它添加到CheckboxGroup中则变成了单选框。 <BR>&nbsp;&nbsp;&nbsp; public 
            void init() <BR>&nbsp;&nbsp;&nbsp; { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...... 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cbg = new CheckboxGroup(); 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A 
            href="file://单/">file://单/</A>选按钮。 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cb1 = new Checkbox("数据1", cbg, 
            false); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cb2 = new Checkbox("数据2", 
            cbg, false); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cb3 = new 
            Checkbox("数据3", cbg, false); <BR>&nbsp;&nbsp;&nbsp; } 
            <BR>&nbsp;&nbsp;&nbsp; (3)布局管理器 <BR>&nbsp;&nbsp;&nbsp; 
            在Java中,为了使得小程序在各种操作系统中的用户界面具有一 <BR>致的外观,采用布局管理器(Layout 
            Manager)对用户界面的相对位置 <BR>进行管理。Java在java.awt包中包含了流布局管理器(FlowLayout)、 
            <BR>边界布局管理器(BorderLayout)、卡片布局管理器(CardLayout)、网 
            <BR>格布局管理器(GridLayout)和网格包布局管理器(GridBagLayout)5个 <BR>布局管理器。如果希望3 
            个单选框按钮放在绘制图形的下面按一行排 <BR>列,该如何编写代码呢?可以这样来实现:首先设置Plot小程序为边界 
            <BR>布局,然后为3个单选框按钮创建一个Panel对象cbPanel,用于组织3个 
            <BR>控件,并设置cbPanel为网格布局,最后将cbPanel添加到Plot类中,并 <BR>设置其方向为南(South)。 
            <BR>&nbsp;&nbsp;&nbsp; public void init() <BR>&nbsp;&nbsp;&nbsp; { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...... 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A 
            href="file://设/">file://设/</A>置Plot为边界布局。 <BR>&nbsp;&nbsp;&nbsp; 
            setLayout(new BorderLayout()); <BR>&nbsp;&nbsp;&nbsp; <A 
            href="file://为/">file://为/</A>3个控件申请面板对象cbPanel。 
            <BR>&nbsp;&nbsp;&nbsp; cbPanel = new Panel(); <BR>&nbsp;&nbsp;&nbsp; 
            <A href="file://设/">file://设/</A>置网格布局管理器,并按1×3方式排列。 
            <BR>&nbsp;&nbsp;&nbsp; cbPanel.setLayout(new GridLayout(1, 3)); 
            <BR>&nbsp;&nbsp;&nbsp; <A href="file://为/">file://为/</A>各按钮申请1个面板。 
            <BR>&nbsp;&nbsp;&nbsp; cb1Panel = new Panel(); 
            <BR>&nbsp;&nbsp;&nbsp; cb1Panel.add(cb1); <BR>&nbsp;&nbsp;&nbsp; 
            cb2Panel = new Panel(); <BR>&nbsp;&nbsp;&nbsp; cb2Panel.add(cb2); 
            <BR>&nbsp;&nbsp;&nbsp; cb3Panel = new Panel(); 
            <BR>&nbsp;&nbsp;&nbsp; cb3Panel.add(cb3); <BR>&nbsp;&nbsp;&nbsp; <A 
            href="file://添/">file://添/</A>加到统一的1个面板cbPanel中。 
            <BR>&nbsp;&nbsp;&nbsp; cbPanel.add(cb1Panel); <BR>&nbsp;&nbsp;&nbsp; 
            cbPanel.add(cb2Panel); <BR>&nbsp;&nbsp;&nbsp; cbPanel.add(cb3Panel); 
            <BR>&nbsp;&nbsp;&nbsp; <A 
            href="file://添/">file://添/</A>加cbPanel到Plot中,方向为:图形在北,按钮在南。 
            <BR>&nbsp;&nbsp;&nbsp; add("South", cbPanel); <BR>&nbsp;&nbsp;&nbsp; 
            } <BR>&nbsp;&nbsp;&nbsp; (4)读取HTML参数 <BR>&nbsp;&nbsp;&nbsp; 
            因为本程序要用到统计数据和统计标题作为小程序的参数存放在 <BR>HTML文档中,所以在开始绘制图形之前,需要从HTML读取这些参数,然 
            <BR>后才开始显示标题和绘制统计曲线。其中,读取统计标题和统计数据 <BR>分别实现。 <BR>&nbsp;&nbsp;&nbsp; 
            ①统计标题,其格式可以是: <BR>&nbsp;&nbsp;&nbsp; &lt;param value="1-DESC" 
            value="每月访问者统计"&gt; <BR>&nbsp;&nbsp;&nbsp; 
            1-DESC表示第一组数据的统计标题,"每月访问者统计"是标题内 <BR>容。 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public String 
            readStringData(String s) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String tempString = null; 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Integer param; 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean datapresent = true; 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i = 0; 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tempString = 
            getParameter(s + "-DESC"); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
            catch (Exception e) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            System.out.println(e); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return tempString; 
            <BR>&nbsp;&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp; ②统计数据,格式可以是: 
            <BR>&nbsp;&nbsp;&nbsp; &lt;param value="1-2" value="14"&gt; 
            <BR>&nbsp;&nbsp;&nbsp; 1-2表示第一组数据的第二个数据点,14表示该数据点的值。 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Vector 
            readData(String s) <BR>&nbsp;&nbsp;&nbsp; { <BR>&nbsp;&nbsp;&nbsp; 
            Vector tempVector = new Vector(); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            Float param; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String tempData = 
            null; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean datapresent = true; 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i = 0; 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(datapresent) 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tempData = 
            getParameter(s + "-" + (i+1)); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch(Exception e) 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            System.out.println(e); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(tempData == null) 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; datapresent = 
            false; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; param = 
            Float.valueOf(tempData); 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            tempVector.addElement(param); 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i += 1; 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return tempVector; 
            <BR>&nbsp;&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp; (5)消息循环 
            <BR>&nbsp;&nbsp;&nbsp; 根据Windows编程经验,有用户界面就有消息循环,以组织消息处 
            <BR>理函数句柄对用户界面发出的消息进行响应。遗憾的是,在JDK 1.0中 
            <BR>,尚没有类似MFC中的消息映射表之类的东西组织消息循环。不过,Jav 
            <BR>a发展势头迅猛,不久的将来就会有公司将它实现!现在,我们需要自己 
            <BR>来组织它:Applet类有一个action方法,在其中可以通过if...then语 <BR>句来对不同的消息进行响应。 
            <BR>&nbsp;&nbsp;&nbsp; public boolean action(Event e, Object o) 
            <BR>&nbsp;&nbsp;&nbsp; { <BR>&nbsp;&nbsp;&nbsp; Vector actionVector 
            = new Vector(); <BR>&nbsp;&nbsp;&nbsp; String actionString = new 
            String(); <BR>&nbsp;&nbsp;&nbsp; if(e.target instanceof Checkbox) 
            <BR>&nbsp;&nbsp;&nbsp; { <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A 
            href='file://"数/'>file://"数/</A>据1"发出的消息 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(cbg.getCurrent() == cb1) 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            actionVector = readData("1"); 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            actionString = readStringData("1"); 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            System.out.println("1"); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A 
            href="file://数/">file://数/</A>据2发出的消息 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(cbg.getCurrent() == cb2) 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            actionVector = readData("2"); 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            actionString = readStringData("2"); 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A 
            href="file://数/">file://数/</A>据3发出的消息 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(cbg.getCurrent() == cb3) 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            actionVector = readData("3"); 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            actionString = readStringData("3"); 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int count = ac</SPAN> <BR>
            <DIV 
            style="FONT-SIZE: 14px; LINE-HEIGHT: 25px"><STRONG>作者Blog:</STRONG><A 
            id=ArticleContent1_ArticleContent1_AuthorBlogLink 
            href="http://blog.csdn.net/dadado/" 
            target=_blank>http://blog.csdn.net/dadado/</A></DIV>
            <DIV 
            style="FONT-SIZE: 14px; COLOR: #900; LINE-HEIGHT: 25px"><STRONG>相关文章</STRONG></DIV>
            <TABLE id=ArticleContent1_ArticleContent1_RelatedArticles 
            style="BORDER-COLLAPSE: collapse" cellSpacing=0 border=0>
              <TBODY>
              <TR>
                <TD><A 
                  href="http://dev.csdn.net/article/5/article/05/05484.shtm">在网页上发布统计曲线</A> 
                </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><A name=#Comment></A>
      <TABLE cellPadding=0 width="100%" border=0>
        <TBODY>
        <TR>
          <TD>
            <TABLE cellSpacing=0 cellPadding=0 width="100%" align=center 
            bgColor=#006699 border=0>
              <TBODY>
              <TR bgColor=#006699>
                <TD id=white align=middle width=556 bgColor=#006699><FONT 
                  color=#ffffff>对该文的评论</FONT> </TD></TR></TBODY></TABLE>
            <TABLE cellSpacing=1 cellPadding=2 width="100%" align=center 
            bgColor=#666666 border=0>
              <TBODY>
              <TR>
                <TD bgColor=#cccccc colSpan=3><SPAN 
                  style="COLOR: #990000"><IMG height=16 hspace=1 
                  src="在网页上发布统计曲线.files/ico_pencil.gif" width=16> </SPAN><SPAN 
                  id=CommnetList1_CommnetList1_rpCommentList__ctl0_lblUserName>ycshowtop</SPAN> 
                  <I>( <SPAN 
                  id=CommnetList1_CommnetList1_rpCommentList__ctl0_lblPostTime>2001-03-08</SPAN>)</I> 
                </TD></TR>
              <TR>
                <TD width=532 bgColor=#ffffff colSpan=3><SPAN 
                  id=CommnetList1_CommnetList1_rpCommentList__ctl0_lblContent><BR>我总觉得用applet太慢。</SPAN> 
                </TD></TR></TBODY></TABLE>
            <DIV align=right><A id=CommnetList1_CommnetList1_Morelink 
            href="http://comment.csdn.net/Comment.aspx?c=2&amp;s=5484">【评论】</A> 
            <A id=CommnetList1_CommnetList1_Hyperlink1 
            href="javascript:window.close();">【关闭】</A> 
      </DIV><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></FORM><!-- 版权 -->
<HR align=center width=770 noShade SIZE=1>

<TABLE cellSpacing=0 cellPadding=0 width=500 align=center border=0>
  <TBODY>
  <TR>
    <TD vAlign=bottom align=middle height=10><A 
      href="http://www.csdn.net/intro/intro.asp?id=2">网站简介</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=5">广告服务</A> - <A 
      href="http://www.csdn.net/map/map.shtm">网站地图</A> - <A 
      href="http://www.csdn.net/help/help.asp">帮助信息</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=2">联系方式</A> - <A 
      href="http://www.csdn.net/english">English</A> </TD>
    <TD align=middle rowSpan=3><A 
      href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG 
      height=48 src="在网页上发布统计曲线.files/biaoshi.gif" width=40 border=0></A></TD></TR>
  <TR>
    <TD vAlign=top align=middle>北京百联美达美数码科技有限公司 版权所有 京ICP证020026号</TD></TR>
  <TR align=middle>
    <TD vAlign=top><FONT face=Verdana>Copyright &copy; CSDN.NET, Inc. All Rights 
      Reserved</FONT></TD></TR>
  <TR>
    <TD height=15></TD></TR></TBODY></TABLE><!-- /版权 -->
<SCRIPT>
      document.write("<img src=http://count.csdn.net/count/pageview1.asp?columnid=4&itemid=11 border=0 width=0 height=0>");
    </SCRIPT>
</BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -