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

📄 celluarcontrol.java

📁 元胞自动机
💻 JAVA
字号:
package celluar;import java.awt.event.*;import java.awt.*;/** * Title:        Game of Life * Description: * Copyright:    Copyright (c) 2003 * Company:      Http://agents.yeah.net * @author Keats * @version 1.0 */final class CelluarControl extends Frame {  celluar localcell;//主程序的本地拷贝,以便可以更新主程序中的值  Label labelSize = new Label();  TextField txtSize = new TextField();  Label labelPer = new Label();  TextField txtPer = new TextField();  Label label1 = new Label();  Label label2 = new Label();  Label labelRefreshSteps = new Label();  TextField txtRefreshSteps = new TextField();  Label label3 = new Label();  Button btnConfirm = new Button();  Button btnCancel = new Button();  Button btnDefault = new Button();  Label label4 = new Label();  public CelluarControl(celluar cl) {    super("参数设置");    localcell=cl;    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  private void jbInit() throws Exception {    this.setBackground(Color.white);    this.setLayout(null);    this.setBounds(0,0,300,300);    this.addWindowListener(new java.awt.event.WindowAdapter() {      public void windowClosing(WindowEvent e) {        this_windowClosing(e);      }    });    txtSize.setText("100");    txtSize.setBounds(new Rectangle(102, 44, 53, 19));    labelSize.setText("世界的大小:");    labelSize.setBounds(new Rectangle(20, 44, 73, 22));    labelPer.setText("个体数量占世界的比例:");    labelPer.setBounds(new Rectangle(20, 92, 134, 18));    txtPer.setText("0.08");    txtPer.setBounds(new Rectangle(161, 93, 56, 18));    label1.setText("(最大尺寸150,取值越大运行速度越慢)");    label1.setBounds(new Rectangle(28, 67, 228, 20));    label2.setText("(取值范围(0,1))");    label2.setBounds(new Rectangle(27, 113, 140, 18));    labelRefreshSteps.setText("刷新的频率:");    labelRefreshSteps.setBounds(new Rectangle(18, 135, 79, 20));    txtRefreshSteps.setText("1");    txtRefreshSteps.setBounds(new Rectangle(98, 134, 61, 20));    label3.setText("(每演化几步刷新一次)");    label3.setBounds(new Rectangle(26, 159, 133, 22));    btnConfirm.setLabel("确定");    btnConfirm.setBounds(new Rectangle(18, 190, 59, 21));    btnConfirm.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        btnConfirm_actionPerformed(e);      }    });    btnCancel.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        btnCancel_actionPerformed(e);      }    });    btnCancel.setBounds(new Rectangle(92, 190, 59, 21));    btnCancel.setLabel("取消");    btnDefault.setLabel("默认值");    btnDefault.setBounds(new Rectangle(165, 190, 72, 21));    btnDefault.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        btnDefault_actionPerformed(e);      }    });    label4.setText("keatskk@sina.com");    label4.setBounds(new Rectangle(59, 220, 152, 20));    this.add(labelSize, null);    this.add(label1, null);    this.add(labelPer, null);    this.add(labelRefreshSteps, null);    this.add(label2, null);    this.add(label3, null);    this.add(btnConfirm, null);    this.add(txtRefreshSteps, null);    this.add(txtSize, null);    this.add(txtPer, null);    this.add(btnCancel, null);    this.add(btnDefault, null);    this.add(label4, null);    reset();  }    public void reset(){    //设置所有文本框中的数值为初始值    txtSize.setText(Integer.toString(localcell.size));    txtPer.setText(Double.toString(localcell.per));    txtRefreshSteps.setText(Integer.toString(localcell.refreshSteps));  }  void btnConfirm_actionPerformed(ActionEvent e) {      //用文本框中的参数数值更新主程序中的响应参数    localcell.size=Integer.parseInt(txtSize.getText());    if (localcell.size<=0) return;    localcell.per=Double.valueOf(txtPer.getText()).doubleValue();    if (localcell.per<=0||localcell.per>=1) return;    localcell.refreshSteps=Integer.parseInt(txtRefreshSteps.getText());    if (localcell.refreshSteps<1) return;    localcell.reinit();    localcell.running=true;    localcell.pausebutton.setLabel("Stop");    this.hide();    this.dispose();  }  void btnCancel_actionPerformed(ActionEvent e) {    localcell.running=true;    localcell.pausebutton.setLabel("Stop");    this.hide();    this.dispose();  }  void btnDefault_actionPerformed(ActionEvent e) {    txtSize.setText("50");    txtPer.setText("0.1");    txtRefreshSteps.setText("1");  }  void this_windowClosing(WindowEvent e) {      localcell.running=true;      localcell.pausebutton.setLabel("Stop");      this.hide();      this.dispose();  }}

⌨️ 快捷键说明

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