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

📄 lset.java

📁 你看到了什么?一群苍蝇在飞舞?这是简简单单的动画么?这些家伙是“活”的么?我可以告诉你
💻 JAVA
字号:
package l;import java.awt.event.*;import java.awt.*;/** * Title:        L * Description: * Copyright:    Copyright (c) 2003 * Company:      J & K Studio * @author keatskk@sina.com * @version 1.0 */final class LSet extends Frame {  L localL;  Label lblStartX = new Label();  TextField txtStartX = new TextField();  Label lblStartY = new Label();  TextField txtStartY = new TextField();  Label lblDirection = new Label();  TextField txtDirection = new TextField();  Label lblRotation = new Label();  TextField txtRotation = new TextField();  Label lbllengthF = new Label();  TextField txtLengthF = new TextField();  Label lblStartDepth = new Label();  TextField txtStartDepth = new TextField();  Label lblsStart = new Label();  TextField txtsStart = new TextField();  Label lblsRule [];  TextField txtsRule[][];  Label lblArrow [];  Label label1 = new Label();  Label label2 = new Label();  Label label3 = new Label();  Label label4 = new Label();  Label label5 = new Label();  Label label6 = new Label();  Label label7 = new Label();  Label label8 = new Label();  public LSet(L lsystem) {    super("设置参数");    localL = lsystem;    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }   }  private void jbInit() throws Exception {    this.setBackground(Color.white);    this.setLayout(new BorderLayout());    Panel panUp = new Panel();    label1.setText("说明:");    label1.setBounds(new Rectangle(21, 101, 48, 18));    label2.setText("左下角(x,y)=(0,0)    右上角(x,y)=(400,400)");    label2.setBounds(new Rectangle(71, 99, 277, 20));    label3.setText("F:当前方向前画一个步距");    label3.setBounds(new Rectangle(71, 120, 152, 18));    label4.setText("+:逆时针转一个给定的转角    -:顺时针转一个给定的转角");    label4.setBounds(new Rectangle(71, 137, 314, 18));    label5.setForeground(Color.red);    label5.setText("注意:规则名称为单个字母,书写时注意大小写区别");    label5.setBounds(new Rectangle(21, 176, 318, 18));    label6.setText("[:状态入栈    ]:状态出栈");    label6.setBounds(new Rectangle(74, 156, 151, 18));    label7.setText("规则名称及规则:");    label7.setBounds(new Rectangle(18, 234, 105, 18));    label8.setForeground(Color.blue);    label8.setText("制作:keatskk@sina.com");    label8.setBounds(new Rectangle(238, 233, 150, 18));    this.add(panUp);    panUp.setLayout(null);    panUp.setBackground(Color.white);    lbllengthF.setText("步距:");    lbllengthF.setBounds(new Rectangle(5, 74, 43, 18));    lblStartX.setText("起始点坐标 X(整数) :");    lblStartX.setBounds(new Rectangle(5, 23, 136, 18));    txtStartX.setBounds(new Rectangle(141, 21, 56, 22));    lblStartY.setBounds(new Rectangle(204, 23, 130, 18));    lblStartY.setText("起始点坐标 Y(整数):");    txtStartY.setBounds(new Rectangle(336, 21, 56, 22));    lblDirection.setText("起始方向角:");    lblDirection.setBounds(new Rectangle(5, 49, 79, 18));    txtDirection.setBounds(new Rectangle(141, 47, 56, 22));    lblRotation.setText("给定的转角:");    lblRotation.setBounds(new Rectangle(205, 48, 83, 18));    txtRotation.setBounds(new Rectangle(336, 46, 56, 22));    txtLengthF.setBounds(new Rectangle(141, 73, 56, 22));    lblStartDepth.setText("迭代次数(整数):");    lblStartDepth.setBounds(new Rectangle(204, 74, 112, 18));    txtStartDepth.setBounds(new Rectangle(336, 72, 55, 22));    lblsStart.setText("公理:");    lblsStart.setBounds(new Rectangle(20, 205, 47, 18));    txtsStart.setBounds(new Rectangle(73, 202, 268, 22));    panUp.add(label1, null);    panUp.add(label3, null);    panUp.add(label4, null);    panUp.add(txtsStart, null);    panUp.add(lblsStart, null);    panUp.add(label5, null);    panUp.add(label6, null);    panUp.add(label7, null);    panUp.add(lblStartX, null);    panUp.add(lblDirection, null);    panUp.add(lbllengthF, null);    panUp.add(txtStartX, null);    panUp.add(txtDirection, null);    panUp.add(txtLengthF, null);    panUp.add(txtStartY, null);    panUp.add(txtRotation, null);    panUp.add(txtStartDepth, null);    panUp.add(lblStartY, null);    panUp.add(lblRotation, null);    panUp.add(lblStartDepth, null);    panUp.add(label8, null);    panUp.add(label2, null);    txtStartX.setText(String.valueOf(localL.pStartX));    txtStartY.setText(String.valueOf(localL.pStartY));    txtDirection.setText(String.valueOf(localL.direction_init));    txtRotation.setText(String.valueOf(localL.rotation));    txtLengthF.setText(String.valueOf(localL.lengthF));    txtStartDepth.setText(String.valueOf(localL.StartDepth));    txtsStart.setText(localL.sStart);    lblsRule = new Label [10];    txtsRule = new TextField[10][2];    lblArrow = new Label [10];    Panel panRule = new Panel();    this.add("South",panRule);    GridBagLayout layout = new GridBagLayout();    panRule.setLayout(layout);    GridBagConstraints constraints = new GridBagConstraints();    constraints.weightx = 0.0;    constraints.weighty = 0.0;    constraints.gridwidth = 1;    constraints.gridheight = 1;    for(int i=0;i<10;i++){      constraints.gridx=0;constraints.gridy=i;      lblsRule[i] = new Label();      lblsRule[i].setText("规则"+i+":");      layout.setConstraints(lblsRule[i],constraints);      panRule.add(lblsRule[i]);      constraints.gridx=1;constraints.gridy=i;      txtsRule[i][0]=new TextField(2);      if(i<localL.ruleNumber){        txtsRule[i][0].setText(localL.sRule[i][0]);      }      else{        txtsRule[i][0].setText("");      }      layout.setConstraints(txtsRule[i][0],constraints);      panRule.add(txtsRule[i][0]);      constraints.gridx=2;constraints.gridy=i;      lblArrow[i]=new Label();      lblArrow[i].setText("→");      layout.setConstraints(lblArrow[i],constraints);      panRule.add(lblArrow[i]);      constraints.gridx=3;constraints.gridy=i;      txtsRule[i][1]=new TextField(30);      if (i<localL.ruleNumber){        txtsRule[i][1].setText(localL.sRule[i][1]);      }      else{        txtsRule[i][1].setText("");      }      layout.setConstraints(txtsRule[i][1],constraints);      panRule.add(txtsRule[i][1]);      }    Button btnConfirm = new Button();    btnConfirm.setLabel("确定");    constraints.gridx=0;constraints.gridy=11;    layout.setConstraints(btnConfirm,constraints);    panRule.add(btnConfirm);    Button btnCancel = new Button();    btnCancel.setLabel("取消");    constraints.gridx=1;constraints.gridy=11;    layout.setConstraints(btnCancel,constraints);    panRule.add(btnCancel);    Button btnDel = new Button();    btnDel.setLabel("全部清空");    constraints.gridx=3;constraints.gridy=11;    layout.setConstraints(btnDel,constraints);    panRule.add(btnDel);     this.addWindowListener(new java.awt.event.WindowAdapter() {      public void windowClosing(WindowEvent e) {        this_windowClosing(e);      }    });}    void this_windowClosing(WindowEvent e) {      this.hide();      this.dispose();  }  public boolean action(Event ev, Object arg){    if ( ev.target instanceof Button) {//instanceof实例        String button = (String) arg;        if (button.equals("确定")) {          localL.pStartX=Integer.parseInt(txtStartX.getText());          localL.pStartY=Integer.parseInt(txtStartY.getText());//          localL.direction=Double.valueOf(txtDirection.getText()).doubleValue();          localL.direction_init=Double.valueOf(txtDirection.getText()).doubleValue();          localL.rotation=Double.valueOf(txtRotation.getText()).doubleValue();          localL.lengthF=Double.valueOf(txtLengthF.getText()).doubleValue();          localL.StartDepth=Integer.parseInt(txtStartDepth.getText());          localL.sStart=txtsStart.getText();          int j=0;          for (int i=0;i<10;i++){            if (txtsRule[i][0].getText().equals("")){              j=j+1;            }            else{              localL.sRule[i-j][0]=txtsRule[i-j][0].getText();              localL.sRule[i-j][1]=txtsRule[i-j][1].getText();            }          }          localL.ruleNumber=10-j;          this.hide();          this.dispose();          localL.reinit();        }        else if (button.equals("取消")) {          this.hide();          this.dispose();        }        else if (button.equals("全部清空")){          txtStartX.setText("");          txtStartY.setText("");          txtDirection.setText("");          txtRotation.setText("");          txtLengthF.setText("");          txtStartDepth.setText("");          txtsStart.setText("");          for(int i=0;i<10;i++){            txtsRule[i][0].setText("");            txtsRule[i][1].setText("");          }        }        return true; }else return false;}}

⌨️ 快捷键说明

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