亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? curveshow.java

?? java人工股市源碼
?? JAVA
字號:
package asm;import java.awt.event.*;import java.util.Vector;import java.awt.*;/** * Title:        Artificial Stock Market * Description:  人工模擬股市(來源:SFI的Swarm版本)的Java版本 * Copyright:    Copyright (c) 2003 * Company:      http://agents.yeah.net * @author jake * @version 1.0 */public class CurveShow extends Frame implements Runnable{  Panel view = new Panel();  Thread runner1;//定義獨立線程  Graphics gra;//在一個面板view上畫圖  int cycles=100;//圖中顯示的橫坐標數目  int cyclemax;//主程序中定義的歷史數據最大長度  int originx=40;//畫圖區(qū)域原點的坐標  int originy=20;  int type;  public int nAgentIndex=0;  AsmModel local;//主程序的本地拷貝  Choice choicelen = new Choice();  Label label1 = new Label();  Label label2 = new Label();  Choice choiceItem1 = new Choice();  Label label3 = new Label();  Choice choiceItem2 = new Choice();  Label lblAgent = new Label();  Choice choiceAgent = new Choice();  Label label5 = new Label();  Label label6 = new Label();  public CurveShow(AsmModel pd,int type1) {    super("數據走向...");    local=pd;    type=type1;    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  private void jbInit() throws Exception {    this.setLayout(null);    view.setBackground(Color.white);    view.setBounds(new Rectangle(6, 26, 537, 316));    this.setBackground(Color.gray);    this.addWindowListener(new java.awt.event.WindowAdapter() {      public void windowOpened(WindowEvent e) {        this_windowOpened(e);      }      public void windowClosing(WindowEvent e) {        this_windowClosing(e);      }    });    choicelen.setBounds(new Rectangle(69, 355, 94, 21));    choicelen.addItemListener(new java.awt.event.ItemListener() {      public void itemStateChanged(ItemEvent e) {        choicelen_itemStateChanged(e);      }    });    for(int i=0;i<40;i++){       choicelen.addItem(Integer.toString((i+1)*100));    }    if(type==0){      choiceItem1.addItem("股票價格");      choiceItem2.addItem("股票價格");      choiceItem1.addItem("股息");      choiceItem2.addItem("股息");      choiceItem1.addItem("風險中性價格");      choiceItem2.addItem("風險中性價格");      choiceItem2.addItem("無");      choiceItem1.select(0);      choiceItem2.select(2);    }else if(type==1){      for(int i=0;i<local.asmModelParams.numBFagents;i++){        choiceAgent.addItem(Integer.toString(i));      }      choiceItem1.addItem("股票需求量");      choiceItem1.addItem("總財富");      choiceItem1.addItem("股票份額");      choiceItem1.addItem("現金量");      choiceItem1.addItem("規(guī)則平均特定度");      choiceItem1.addItem("預測量");      choiceItem1.addItem("預測偏差");      choiceItem1.addItem("預測系數a");      choiceItem1.addItem("預測系數b");      choiceItem2.addItem("股票需求量");      choiceItem2.addItem("總財富");      choiceItem2.addItem("股票份額");      choiceItem2.addItem("現金量");      choiceItem2.addItem("規(guī)則平均特定度");      choiceItem2.addItem("預測量");      choiceItem2.addItem("預測偏差");      choiceItem2.addItem("預測系數a");      choiceItem2.addItem("預測系數b");      choiceItem2.addItem("無");      choiceItem1.select(0);      choiceItem2.select(choiceItem2.getItemCount()-1);    }    label1.setText("顯示長度:");    label1.setBounds(new Rectangle(4, 360, 60, 12));    label2.setText("觀察項目1:");    label2.setBounds(new Rectangle(171, 342, 70, 21));    choiceItem1.setBounds(new Rectangle(239, 345, 122, 18));    label3.setText("觀察項目2:");    label3.setBounds(new Rectangle(170, 369, 72, 15));    choiceItem2.setBounds(new Rectangle(239, 367, 122, 18));    lblAgent.setText("選擇智能體編號:");    lblAgent.setBounds(new Rectangle(435, 344, 107, 18));    choiceAgent.setBounds(new Rectangle(436, 363, 94, 17));    label5.setText("藍色線");    label5.setBounds(new Rectangle(364, 345, 47, 17));    label6.setText("紅色線");    label6.setBounds(new Rectangle(364, 365, 40, 18));    this.add(view, null);    this.add(label2, null);    this.add(choiceItem1, null);    this.add(label3, null);    this.add(choiceItem2, null);    this.add(choicelen, null);    this.add(label1, null);    if(type==1){        this.add(lblAgent, null);        this.add(choiceAgent, null);    }    this.add(label5, null);    this.add(label6, null);    this.pack();    this.addWindowListener(new java.awt.event.WindowAdapter() {      public void windowClosing(WindowEvent e) {        this_windowClosing(e);      }    });  }  void this_windowClosing(WindowEvent e) {    this.hide();    this.dispose();  }  void btnClose_actionPerformed(ActionEvent e) {    this.hide();    this.dispose();  }   void this_windowOpened(WindowEvent e) {    gra=view.getGraphics();    cyclemax=WorldVariants.cycleMax;    repaint();    if(runner1==null){      runner1=new Thread(this);      runner1.start();    }  }  public void paint(Graphics g) {    /**@todo: Override this java.awt.Component method*/    //畫圖函數    Vector history=new Vector();    double value1max=100;    double value1min=-100;    double value2max=100;    double value2min=-100;    double valuemax=100;    double valuemin=-100;    boolean noneItem,isDrawn;    String sName="";    if(type==0){        history=local.world.Histories;    }else if(type==1){        nAgentIndex=choiceAgent.getSelectedIndex();        Agent ag=(Agent)local.agentList.elementAt(nAgentIndex);        history=ag.History;    }    int width=517-originx-25;    int height=316-originy;    //int step=localpd.steps;    int step=local.modelTime;    int nStart=0;    int nEnd=cycles;    int size=history.size();    if(step-cycles>0){        //計算需要繪制的歷史數據數組中的啟示索引        nStart=step-cycles;    }    //清空畫圖區(qū)域    gra.clearRect(0,0,517,316);    //設定原點坐標    int x=0,y=0,y0=height-originy;    //對設定的要畫的橫坐標點數循環(huán)    noneItem=false;   for(int i=0;i<cycles;i++){      //當前點坐標      isDrawn=true;      int x1=(int)((i*width)/cycles);      double value1=0;      double value2=0;      if((i+nStart)%cyclemax<size){        if(type==0){          WorldVariants wv=(WorldVariants)history.elementAt((i+nStart)%cyclemax);          switch(choiceItem1.getSelectedIndex()){          case 0:            value1=wv.price;            if(i==0)sName="價格";            value1max=local.asmModelParams.maxprice;            value1min=local.asmModelParams.minprice;            break;          case 1:            value1=wv.dividend;            if(i==0)sName="股息";            value1max=local.asmModelParams.maxdividend;            value1min=local.asmModelParams.mindividend;            break;          case 2:            if(i==0)sName="股息/利息";            value1=wv.risk_neutral;            value1max=local.asmModelParams.maxprice;            value1min=local.asmModelParams.minprice;            break;          }          switch(choiceItem2.getSelectedIndex()){          case 0:            value2=wv.price;            value2max=local.asmModelParams.maxprice;            value2min=local.asmModelParams.minprice;            break;          case 1:            value2=wv.dividend;            if(i==0)sName+="-股息";            value2max=local.asmModelParams.maxdividend;            value2min=local.asmModelParams.mindividend;            break;          case 2:            if(i==0)sName+="-股息/利息";            value2=wv.risk_neutral;            value2max=local.asmModelParams.maxprice;            value2min=local.asmModelParams.minprice;            break;          case 3:            noneItem=true;            value2=value1min;            value2max=value1max;            value2min=value1min;          }        }else if(type==1){          AgentVariants agv=(AgentVariants)history.elementAt((i+nStart)%cyclemax);          if(i==0)sName=choiceItem1.getSelectedItem();          switch (choiceItem1.getSelectedIndex()){          case 0:            value1=agv.demand;            value1max=local.bfParams.maxbid;            value1min=-value1max;            break;          case 1:            value1=agv.wealth;            value1max=local.asmModelParams.initialcash*10 + local.asmModelParams.maxprice*local.asmModelParams.initholding;            value1min=0;            break;          case 2:            value1=agv.position;            value1max=local.asmModelParams.initholding;            value1min=0;            break;          case 3:            value1=agv.cash;            value1max=local.asmModelParams.initialcash*10;            value1min=0;            break;          case 4:            value1=agv.avspecificity;            value1max=local.bfParams.condbits;            value1min=0;            break;          case 5:            value1=agv.forecast;            value1max=local.asmModelParams.maxprice;            value1min=local.asmModelParams.minprice;            break;          case 6:            value1=agv.realDeviation;            value1max=local.asmModelParams.maxprice-local.asmModelParams.minprice;            value1min=-value1max;            break;          case 7:            value1=agv.pdcoeff;            value1max=local.bfParams.a_max;            value1min=0;            break;          case 8:            value1=agv.offset;            value1max=local.bfParams.b_max;            value1min=local.bfParams.b_min;            break;          }          switch (choiceItem2.getSelectedIndex()){          case 0:            value2=agv.demand;            value2max=local.bfParams.maxbid;            value2min=-value2max;            break;          case 1:            value2=agv.wealth;            value2max=local.asmModelParams.initialcash*10 + local.asmModelParams.maxprice*local.asmModelParams.initholding;;            value2min=0;            break;          case 2:            value2=agv.position;            value2max=local.asmModelParams.initholding;            value2min=0;            break;          case 3:            value2=agv.cash;            value2max=local.asmModelParams.initialcash*10;            value2min=0;            break;          case 4:            value2=agv.avspecificity;            value2max=local.bfParams.condbits;            value2min=0;            break;          case 5:            value2=agv.forecast;            value2max=local.asmModelParams.maxprice;            value2min=local.asmModelParams.minprice;            break;          case 6:            value2=agv.realDeviation;            value2max=local.asmModelParams.maxprice-local.asmModelParams.minprice;            value2min=-value1max;            break;          case 7:            value2=agv.pdcoeff;            value2max=local.bfParams.a_max;            value2min=0;            break;          case 8:            value2=agv.offset;            value2max=local.bfParams.b_max;            value2min=local.bfParams.b_min;            break;          case 9:            noneItem=true;            value2=value1min;            value2max=value1max;            value2min=value1min;          }         if(i==0&&!noneItem)sName+="-"+choiceItem2.getSelectedItem();        }      }else{        isDrawn=false;        value1=valuemin;        value2=valuemin;      }      valuemax=value1max;      valuemin=value1min;      if(!noneItem){        if(valuemax<value2max)valuemax=value2max;        if(valuemin>value2min)valuemin=value2min;      }      if(valuemax==valuemin)valuemin=valuemax-100;      int y1=(int)(height*(value1-valuemin)/(valuemax-valuemin));      //繪制合作者比例      if(y1<=0){        y1=1;      }else if(y1>=height){        y1=height;      }      if(isDrawn){        gra.setColor(Color.blue);        gra.drawLine(x+originx,height-y,x1+originx,height-y1);      }      //繪制不合作者比例      int y2=(int)(height*(value2-valuemin)/(valuemax-valuemin));      if(y2<=0){        y2=1;      }else if(y2>=height){        y2=height;      }      if(isDrawn&&!noneItem){        gra.setColor(Color.red);        gra.drawLine(x+originx,height-y0,x1+originx,height-y2);      }      //前一點的坐標      x=x1;      y=y1;      y0=y2;    }    //畫坐標軸及其說明文字    gra.setColor(Color.black);    gra.drawLine(originx,height,width+originx,height);    gra.drawLine(originx,height,originx,0);    gra.drawString("時間",width+originx,height);    gra.drawString(sName,originx-35,originy/2);    this.setTitle(sName+"(曲線圖)");    for(int i=0;i<10;i++){        int x3=(int)(i*width/10)+originx;        int y3=height;        gra.drawLine(x3,y3,x3,y3-2);        String txt;        if(step>cycles){          txt=Integer.toString((int)(step-cycles+i*cycles/10));        }else{          txt=Integer.toString((int)(i*cycles/10));        }        gra.drawString(txt,x3,y3+12);    }    for(int i=0;i<=9;i++){        int x3=originx;        int y3=(int)((10-i)*height/10);        gra.drawLine(x3,y3,x3+2,y3);        float num=(float)((double)(i*(valuemax-valuemin))/(double)10+valuemin);        String txt=Float.toString(num);        if(txt.length()>=5)txt=txt.substring(0,5);        gra.drawString(txt,x3-30,y3+5);    }    super.paint(g);  }   void choicelen_itemStateChanged(ItemEvent e) {    cycles=(choicelen.getSelectedIndex()+1)*100;    repaint();  }  void btnRefresh_actionPerformed(ActionEvent e) {    repaint();  }  public void stop() {    if (runner1!=null)    {      // running = false;        runner1.stop();       runner1=null;    }  }  public void run()   {    while(true){        repaint();        try{Thread.sleep(1000);}catch(InterruptedException e){};    }  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区成人精品| 午夜欧美电影在线观看| 国产成人免费视频网站| 欧美激情在线免费观看| 成人国产亚洲欧美成人综合网| 国产精品网站导航| 99久久综合精品| 亚洲一区二区三区免费视频| 欧美精品电影在线播放| 经典三级视频一区| 中文字幕人成不卡一区| 欧美日韩在线综合| 国产美女精品在线| 日韩毛片精品高清免费| 欧美伦理电影网| 国产福利一区二区三区视频在线 | 制服视频三区第一页精品| 亚洲成av人在线观看| 欧美变态口味重另类| 粗大黑人巨茎大战欧美成人| 亚洲自拍偷拍九九九| 欧美一级夜夜爽| 粉嫩蜜臀av国产精品网站| 一区二区三区精密机械公司| 欧美成人精品1314www| 99久久精品国产一区| 免费观看日韩电影| 亚洲天堂成人网| 精品国产91亚洲一区二区三区婷婷| 国产成人免费av在线| 亚洲成av人片在线观看无码| 国产欧美日韩视频在线观看| 欧美羞羞免费网站| 国产99一区视频免费| 日韩国产欧美在线视频| 综合av第一页| 精品sm在线观看| 欧美日韩亚洲高清一区二区| 丰满少妇在线播放bd日韩电影| 五月激情六月综合| 一区精品在线播放| 国产日韩欧美激情| 欧美日韩aaaaaa| 99久久精品免费| 国产aⅴ精品一区二区三区色成熟| 亚洲综合激情网| 国产精品丝袜91| 精品区一区二区| 欧美日韩久久不卡| 色婷婷激情久久| 成人福利电影精品一区二区在线观看 | 日本中文字幕不卡| 一区二区三区在线影院| 中文字幕欧美国产| 久久众筹精品私拍模特| 91精品国产综合久久香蕉麻豆| 一本大道久久a久久综合| 国产mv日韩mv欧美| 国产精品一区二区不卡| 久久99国产精品久久99| 日韩不卡一二三区| 丝袜美腿亚洲一区二区图片| 亚洲女人****多毛耸耸8| 国产精品三级在线观看| 久久久久99精品国产片| 精品国产精品一区二区夜夜嗨 | 精品久久久久久最新网址| 欧美日韩在线三级| 欧美系列一区二区| 欧美亚洲日本国产| 欧美综合欧美视频| 欧美在线观看视频一区二区| 欧美在线不卡视频| 欧美伊人久久大香线蕉综合69| 色哟哟一区二区在线观看| 91麻豆国产在线观看| 99re成人在线| 日本韩国欧美一区| 在线观看日韩av先锋影音电影院| 97久久精品人人做人人爽50路| 成人av集中营| 一本色道久久综合亚洲aⅴ蜜桃| 91网站最新网址| 91福利资源站| 欧美美女网站色| 91精品蜜臀在线一区尤物| 日韩女优制服丝袜电影| 精品国产一二三区| 国产精品私人自拍| 亚洲精品国久久99热| 亚洲成av人片在线| 久久精品国产第一区二区三区 | 成人不卡免费av| 日本精品一级二级| 3atv一区二区三区| 精品国产免费人成电影在线观看四季| 欧美成人精品3d动漫h| 久久久精品国产免费观看同学| 中文幕一区二区三区久久蜜桃| 亚洲同性gay激情无套| 一区二区三区精品久久久| 三级久久三级久久| 国产精品一区二区免费不卡| 97久久精品人人做人人爽50路| 欧美日韩视频在线第一区| 精品久久五月天| 亚洲丝袜另类动漫二区| 五月综合激情网| 国产精品1区2区| 在线观看日韩精品| 久久一二三国产| 一区二区三区在线观看国产| 日韩福利视频导航| www.66久久| 日韩欧美国产三级| 亚洲免费在线观看视频| 秋霞成人午夜伦在线观看| 成人性生交大片免费| 欧美日韩国产综合视频在线观看| 久久综合网色—综合色88| 亚洲美女淫视频| 国产精品66部| 欧美一区二区视频在线观看| 亚洲国产高清aⅴ视频| 日韩国产精品大片| 色偷偷成人一区二区三区91 | 久久蜜桃一区二区| 亚洲精品你懂的| 国产伦精品一区二区三区视频青涩| 日本久久精品电影| 国产精品婷婷午夜在线观看| 美腿丝袜在线亚洲一区| 91视频观看视频| 国产日韩高清在线| 麻豆91免费看| 欧美巨大另类极品videosbest| 中文字幕日本不卡| 国产福利不卡视频| 精品国产一区久久| 奇米精品一区二区三区四区 | 欧美电影免费观看高清完整版在线 | 亚洲欧美日韩人成在线播放| 国产一区二区0| 日韩欧美一区二区久久婷婷| 亚洲一区二区三区四区中文字幕| 成人性生交大片免费看视频在线| 亚洲精品一区二区三区香蕉| 午夜精品久久一牛影视| 色综合夜色一区| 中文子幕无线码一区tr| 九色综合狠狠综合久久| 69p69国产精品| 性欧美疯狂xxxxbbbb| 一本大道av伊人久久综合| 国产精品久久久久久久久图文区| 精品午夜久久福利影院| 日韩免费高清av| 美女视频黄 久久| 日韩视频免费直播| 欧美a级一区二区| 欧美一区二区免费| 日本特黄久久久高潮| 欧美裸体bbwbbwbbw| 五月天久久比比资源色| 91麻豆精品国产91久久久久久| 亚洲第一搞黄网站| 欧美丰满少妇xxxxx高潮对白| 亚洲成人动漫精品| 6080yy午夜一二三区久久| 日韩在线观看一区二区| 欧美一区二区日韩一区二区| 日本免费在线视频不卡一不卡二| 51精品秘密在线观看| 久久99精品久久久久久国产越南 | 91在线观看视频| 樱花草国产18久久久久| 在线观看网站黄不卡| 亚洲国产欧美在线人成| 欧美日韩精品欧美日韩精品一| 亚洲成人免费看| 91精品国产综合久久久蜜臀图片 | 99精品欧美一区二区蜜桃免费| 国产精品久久精品日日| 色婷婷久久久久swag精品| 日韩精品亚洲一区二区三区免费| 91精品福利在线一区二区三区| 麻豆精品视频在线| 国产欧美视频一区二区| 色中色一区二区| 欧美aaaaaa午夜精品| 久久久亚洲高清| 在线观看免费一区| 捆绑调教美女网站视频一区| 欧美激情中文字幕| 欧美三级中文字幕| 国产主播一区二区三区| 国产精品久久二区二区| 欧美精品视频www在线观看| 国产精品综合久久| 亚洲宅男天堂在线观看无病毒|