📄 fitnesscanvas.java
字号:
// Decompiled by Jad v1.5.7f. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3)
// Source File Name: FitnessCanvas.java
package ci.ec;
import java.awt.*;
import java.io.PrintStream;
import java.util.Vector;
// Referenced classes of package ci.ec:
// FitnessDrawData
public class FitnessCanvas extends Canvas
{
public FitnessCanvas(Color color, int i, int j)
{
redrawFlag = true;
setBackground(color);
setSize(i, j);
width = i;
height = j;
count = 1;
dataSet = new Vector();
}
public void paint(Graphics g)
{
if(count == 1)
{
g.drawString("fitness", 12, 10);
g.setColor(Color.black);
g.drawLine(0, height - 10, width, height - 10);
g.drawLine(10, 0, 10, height);
previousX = 10;
bestOld = bestCurrent;
averageOld = averageCurrent;
varianceOld = varianceCurrent;
dataSet.removeAllElements();
dataSet.addElement(new FitnessDrawData(bestOld, averageOld, varianceOld, previousX));
return;
}
if(redrawFlag)
{
redraw(g);
return;
} else
{
setCurrentX();
g.setColor(Color.red);
g.drawLine(previousX, bestOld, currentX, bestCurrent);
g.setColor(Color.blue);
g.drawLine(previousX, averageOld, currentX, averageCurrent);
g.setColor(Color.black);
g.drawLine(previousX, varianceOld, currentX, varianceCurrent);
previousX = currentX;
bestOld = bestCurrent;
averageOld = averageCurrent;
varianceOld = varianceCurrent;
dataSet.addElement(new FitnessDrawData(bestOld, averageOld, varianceOld, previousX));
return;
}
}
public void update(Graphics g)
{
if(count == 1)
{
super.update(g);
return;
} else
{
paint(g);
return;
}
}
public void redraw(Graphics g)
{
g.drawString("fitness", 12, 10);
g.setColor(Color.black);
g.drawLine(0, height - 10, width, height - 10);
g.drawLine(10, 0, 10, height);
for(int i = 1; i < count; i++)
{
g.setColor(Color.red);
g.drawLine(((FitnessDrawData)dataSet.elementAt(i - 1)).getXIndex(), ((FitnessDrawData)dataSet.elementAt(i - 1)).getBestFitness(), ((FitnessDrawData)dataSet.elementAt(i)).getXIndex(), ((FitnessDrawData)dataSet.elementAt(i)).getBestFitness());
g.setColor(Color.blue);
g.drawLine(((FitnessDrawData)dataSet.elementAt(i - 1)).getXIndex(), ((FitnessDrawData)dataSet.elementAt(i - 1)).getAverageFitness(), ((FitnessDrawData)dataSet.elementAt(i)).getXIndex(), ((FitnessDrawData)dataSet.elementAt(i)).getAverageFitness());
g.setColor(Color.black);
g.drawLine(((FitnessDrawData)dataSet.elementAt(i - 1)).getXIndex(), ((FitnessDrawData)dataSet.elementAt(i - 1)).getVarianceFitness(), ((FitnessDrawData)dataSet.elementAt(i)).getXIndex(), ((FitnessDrawData)dataSet.elementAt(i)).getVarianceFitness());
}
}
public void setCurrentX()
{
if(maximumValueX != 0)
{
currentX = ((count - 1) * (width - 10)) / maximumValueX + 10;
return;
} else
{
System.out.println("divided by zero\n");
return;
}
}
public void setBest(double d)
{
bestCurrent = (int)((d * (double)(height - 10)) / maximumValueY);
bestCurrent = height - 10 - bestCurrent;
}
public void setAverage(double d)
{
averageCurrent = (int)((d * (double)(height - 10)) / maximumValueY);
averageCurrent = height - 10 - averageCurrent;
}
public void setVariance(double d)
{
varianceCurrent = (int)((d * (double)(height - 10)) / maximumValueY);
varianceCurrent = height - 10 - varianceCurrent;
}
public void setMaximumValueX(int i)
{
maximumValueX = i;
}
public void setMaximumValueY(double d)
{
maximumValueY = d;
}
public void setCount(int i)
{
count = i;
}
public void setRedrawFlag(boolean flag)
{
redrawFlag = flag;
}
private Vector dataSet;
private boolean redrawFlag;
private final int offset = 10;
private double maximumValueY;
private int maximumValueX;
private int currentX;
private int previousX;
private int height;
private int width;
private int bestOld;
private int bestCurrent;
private int varianceOld;
private int varianceCurrent;
private int averageOld;
private int averageCurrent;
private int count;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -