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

📄 configer.java

📁 Autolife模型是一个能够进行“开放式进化”的人工生命系统。每个Agent模型采用可以变化规则表长度的有限自动机模型建模。一方面Agent可以进行自我繁殖
💻 JAVA
字号:
package lifetest;import java.awt.Frame;import java.awt.*;import java.awt.event.*;import java.util.Vector;import lifetest.World;/** * Title:        LifeSim * Description: * Copyright:    Copyright (c) 2004 * Company:      www.swarmagents.com * @author jake * @version 1.0 */public class Configer extends Frame{  //Choice agents;  //Thread runner1;//定义独立线程  Button btnOK = new Button("OK");  Button btnCancel=new Button("Cancel");  lifesim localapp;  World wd;  Panel botPan;  Panel conPan;  TextField txtIniagent=new TextField();  TextField txtInigrass=new TextField();  TextField txtMaxContaining=new TextField();  TextField txtMaxAge=new TextField();  TextField txtEatEnergy=new TextField();  TextField txtSeedGrow=new TextField();  Choice choSeedE=new Choice();  TextField txtMuteP=new TextField();  TextField txtLenP=new TextField();  int selectedSeedE=0;  int EatEnergy=0;  public Configer(lifesim local) {      localapp=local;      wd=localapp.localwd;  try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  public Configer() {    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  private void jbInit() throws Exception {    setLayout(new BorderLayout());	botPan=new Panel();	conPan=new Panel();	this.addWindowListener(new java.awt.event.WindowAdapter() {      public void windowClosing(WindowEvent e) {        this_windowClosing(e);      }    });        txtEatEnergy.addTextListener(new java.awt.event.TextListener() {      public void textValueChanged(TextEvent e) {        txtEatEnergy_textValueChanged(e);      }    });    botPan.add(btnOK);    botPan.add(btnCancel);    conPan.setLayout(new GridLayout(9,2));    conPan.add(new Label("Initial agents number:"));    conPan.add(txtIniagent);	conPan.add(new Label("Initial foods density(<1)"));	conPan.add(txtInigrass);	conPan.add(new Label("Max agents containning:"));	conPan.add(txtMaxContaining);	conPan.add(new Label("Agents' max age:"));	conPan.add(txtMaxAge);	conPan.add(new Label("Food Energy:"));	conPan.add(txtEatEnergy);	conPan.add(new Label("delay time seeds to grasses: "));	conPan.add(txtSeedGrow);	conPan.add(new Label("Energy to produce a seed"));	conPan.add(choSeedE);	conPan.add(new Label("Agents' mutation p:"));	conPan.add(txtMuteP);	conPan.add(new Label("Agents' length p:"));	conPan.add(txtLenP);    this.add("Center",conPan);    this.add("South",botPan);	txtIniagent.setText(Integer.toString(wd.iniNum));	txtInigrass.setText(Double.toString(wd.FoodRan));	txtMaxContaining.setText(Integer.toString(wd.maxContaining));	txtMaxAge.setText(Integer.toString(wd.maxAge));	txtEatEnergy.setText(Integer.toString(wd.EatEnergy));	EatEnergy=wd.EatEnergy;	int j=0;	for(int i=10;i<wd.EatEnergy;i+=10){			choSeedE.addItem(Integer.toString(i));			if(i==wd.SeedGrassE){				selectedSeedE=j;				choSeedE.select(j);			}			j++;	}	txtSeedGrow.setText(Integer.toString(wd.growUpTime));	choSeedE.select(Integer.toString(wd.SeedGrassE));	txtMuteP.setText(Double.toString(wd.muteP));	txtLenP.setText(Double.toString(wd.lenP) );	this.setTitle("Basic Parameters");  }  public void paint(Graphics g){    super.paint(g);  }  public boolean action(Event evt, Object o) {    if(evt.target==btnOK){		wd.iniNum=Integer.valueOf(txtIniagent.getText()).intValue();		wd.FoodRan=Double.valueOf(txtInigrass.getText()).doubleValue();		wd.maxContaining=Integer.valueOf(txtMaxContaining.getText()).intValue();		wd.maxAge=Integer.valueOf(txtMaxAge.getText()).intValue();		wd.growUpTime=Integer.valueOf(txtSeedGrow.getText()).intValue();		txtSeedGrow.setText(Integer.toString(wd.growUpTime));		wd.SeedGrassE=Integer.valueOf(choSeedE.getSelectedItem()).intValue();		wd.muteP=Double.valueOf(txtMuteP.getText()).doubleValue();		wd.lenP=Double.valueOf(txtLenP.getText()).doubleValue();		wd.EatEnergy=Integer.valueOf(txtEatEnergy.getText()).intValue();		//localapp.reinit();		localapp.canvas.repaint();		this.hide();		this.dispose();      return true;    }else if(evt.target==choSeedE){		selectedSeedE=choSeedE.getSelectedIndex();    }else if(evt.target==btnCancel){		this.hide();		this.dispose();      return true;    }    return false;  } void this_windowClosing(WindowEvent e) {    this.hide();    this.dispose();  }  void txtEatEnergy_textValueChanged(TextEvent e) {		choSeedE.removeAll();		EatEnergy=Integer.valueOf(txtEatEnergy.getText()).intValue();		int j=0;		for(int i=10;i<EatEnergy;i+=10){				choSeedE.addItem(Integer.toString(i));				if(j==selectedSeedE)choSeedE.select(j);				j++;		}  }}

⌨️ 快捷键说明

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