📄 graph1.java
字号:
/*作者:徐朝*/
/*keystonexu@yahoo.com.cn*/
package regression.gui;
import kernel.*;
import regression.function.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Observer;
import java.util.Observable;
import java.applet.*;
public class Graph1 extends Applet implements ActionListener,Observer
{
Graphs g;
Kernel kernel;
Evaluation e;
TextArea t;
Label mess;
Button start;
Thread thread;
MessageGp message;
public void init()
{
double[] y;
setBackground(Color.lightGray);
this.kernel = new Kernel(new Parameter(),new Sets(), new Evaluation());
kernel.addObserver(this);
e = (Evaluation)(kernel.evaluate);
setLayout(null);
t = new TextArea(40,20);
t.setText("");
y = e.getData();
g = new Graphs(y,null,Graphs.SCATTER);
g.setBounds(220,20,500,300);
t.setBounds(20,20,200,500);
start = new Button("开始曲线拟合");
start.setBounds(250,350,100,30);
start.addActionListener(this);
Label pro = new Label("每代最优程序的语法树");
pro.setBounds(50,0,150,20);
add(g);
add(t);
add(start);
add(pro);
}
public void update(Observable ob, Object arg)
{
message = (MessageGp)arg;
double[] y = e.getData(message.individual);
g.setData(y,message.individual.adjustedFitness,
message.currentGeneration);
t.setText("");
t.setFont(new Font("宋体",Font.PLAIN,10));
t.setText(message.individual.program.toString(false));
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("开始曲线拟合"))
{
start.setLabel("停止曲线拟合");
thread = new Thread(kernel);
thread.start();
}
if(e.getActionCommand().equals("停止曲线拟合"))
{
start.setLabel("开始曲线拟合");
thread.stop();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -