📄 gaaparams.java
字号:
grid.setGridCell(i,2,String.valueOf(problem.alleles[i].max));
grid.setGridCell(i,3,String.valueOf(problem.alleles[i].step));
grid.setGridCell(i,4,String.valueOf(problem.alleles[i].nsteps));
//grid.setGridCell(i,5,String.valueOf(problem.alleles[i].value));
grid.setGridCell(i,5,String.valueOf(0));
grid.setGridCell(i,6,"Allele No."+i);
}
GaaScsGText minEdit = new GaaScsGText();
minEdit.setName("MinEdit");
GaaScsGText maxEdit = new GaaScsGText();
maxEdit.setName("MaxEdit");
GaaScsGText stepEdit = new GaaScsGText();
stepEdit.setName("StepEdit");
GaaScsGText nstepEdit = new GaaScsGText();
nstepEdit.setName("NstepEdit");
GaaScsGText defaultEdit = new GaaScsGText();
defaultEdit.setName("DefaultEdit");
GaaScsGText descEdit = new GaaScsGText();
descEdit.setName("DescEdit");
descEdit.setBounds(0, 0, 200, 20);
ScsGSpinner numSpinner = new com.scs.awt.ScsGSpinner();
numSpinner.setName("NumSpinner");
numSpinner.setMaximum(99);
grid.getColumn(0).setEditComponent(numSpinner);
grid.getColumn(1).setEditComponent(minEdit);
grid.getColumn(2).setEditComponent(maxEdit);
grid.getColumn(3).setEditComponent(stepEdit);
grid.getColumn(4).setEditComponent(nstepEdit);
grid.getColumn(5).setEditComponent(defaultEdit);
grid.getColumn(6).setEditComponent(descEdit);
return grid;
}
private void resetDefGrid() {
for (int i=0;i<problem.alleles.length;i++) {
defGrid.setGridCell(i,0,Integer.toString(i));
defGrid.setGridCell(i,1,String.valueOf(problem.alleles[i].min));
defGrid.setGridCell(i,2,String.valueOf(problem.alleles[i].max));
defGrid.setGridCell(i,3,String.valueOf(problem.alleles[i].step));
defGrid.setGridCell(i,4,String.valueOf(problem.alleles[i].nsteps));
defGrid.setGridCell(i,5,String.valueOf(problem.alleles[i].value));
defGrid.setGridCell(i,6,"Allele No."+i);
}
}
private void updateDefGrid() {
for (int i=0;i<problem.alleles.length;i++) {
defGrid.setGridCell(i,0,Integer.toString(i));
defGrid.setGridCell(i,1,String.valueOf(problem.alleles[i].min));
defGrid.setGridCell(i,2,String.valueOf(problem.alleles[i].max));
defGrid.setGridCell(i,3,String.valueOf(problem.alleles[i].step));
defGrid.setGridCell(i,4,String.valueOf(problem.alleles[i].nsteps));
defGrid.setGridCell(i,5,String.valueOf(problem.alleles[i].value));
defGrid.setGridCell(i,6,"Allele No."+i);
}
}
private void updateDefData() {
for (int i=0;i<problem.alleles.length;i++) {
try {
problem.alleles[i].min = Double.valueOf(defGrid.getGridCell(i,1).trim()).doubleValue();
problem.alleles[i].max = Double.valueOf(defGrid.getGridCell(i,2).trim()).doubleValue();
problem.alleles[i].step = Double.valueOf(defGrid.getGridCell(i,3).trim()).doubleValue();
problem.alleles[i].nsteps = Integer.parseInt(defGrid.getGridCell(i,4).trim());
problem.alleles[i].value = Double.valueOf(defGrid.getGridCell(i,5).trim()).doubleValue();
} catch (NumberFormatException e){}
}
}
private void updateMapData() {
for (int i=0;i<problem.alleles.length;i++) {
for (int j=0;j<problem.mapOrder;j++) {
String s = mapGrid.getGridCell(i,j+1).trim();
double d = Double.valueOf(mapGrid.getGridCell(i,j+1).trim()).doubleValue();
problem.mapAlleles[i][j] = Double.valueOf(mapGrid.getGridCell(i,j+1).trim()).doubleValue();
}
}
}
private void updateMapGrid() {
for (int i=0;i<problem.alleles.length;i++) {
mapGrid.setGridCell(i,0,Integer.toString(i));
for (int j=0;j<problem.mapOrder;j++) {
mapGrid.setGridCell(i,j+1,dFormat.format(problem.mapAlleles[i][j]));
}
}
}
private void resetMapGrid() {
for (int i=0;i<problem.alleles.length;i++) {
mapGrid.setGridCell(i,0,Integer.toString(i));
for (int j=0;j<problem.mapOrder;j++) {
mapGrid.setGridCell(i,j+1,dFormat.format(0));
}
}
}
private ScsGrid createMapGrid() {
int i, j;
String txt;
ScsGrid grid = new com.scs.awt.ScsGrid();
grid.setName("DefGrid");
String columnSettings [] =
{"#|RIGHT|CENTER|20|false|true|false",
"D1|RIGHT|CENTER|40|false",
"D2|RIGHT|CENTER|40|false",
"D3|RIGHT|CENTER|40",
"D4|RIGHT|CENTER|40",
"D5|RIGHT|CENTER|40",
"D6|RIGHT|CENTER|40|false",
"D7|RIGHT|CENTER|40",
"D8|RIGHT|CENTER|40",
"D9|RIGHT|CENTER|40",
"D10|RIGHT|CENTER|40"};
grid.setColumnSettings(columnSettings);
grid.setNumberOfRows(8);
//grid.setRowGap(4);
grid.setRowSelectColor(Color.red);
grid.setBorderEffect(0);
grid.setBounds(26, 12, 526, 240);
grid.setGridTextFont(new Font("dialog", 1, 11));
grid.setNumberOfRows(8);
grid.setColumnGap(8);
grid.setCellSelection(true);
grid.setRowSelectFont(new Font("dialog", 1, 11));
grid.setGridTextColor(Color.blue);
grid.setRowHeight(13);
//grid.addCellListener(this);
for (i=0;i<problem.alleles.length;i++) {
grid.setGridCell(i,0,Integer.toString(i));
for (j=0;j<problem.mapOrder;j++) {
grid.setGridCell(i,j+1,dFormat.format(problem.mapAlleles[i][j]));
}
}
GaaScsGText mapF0 = new GaaScsGText();
mapF0.setName("mapF0");
GaaScsGText mapF1 = new GaaScsGText();
mapF1.setName("mapF1");
GaaScsGText mapF2 = new GaaScsGText();
mapF2.setName("mapF2");
GaaScsGText mapF3 = new GaaScsGText();
mapF3.setName("mapF3");
GaaScsGText mapF4 = new GaaScsGText();
mapF4.setName("mapF4");
GaaScsGText mapF5 = new GaaScsGText();
mapF5.setName("mapF5");
GaaScsGText mapF6 = new GaaScsGText();
mapF6.setName("mapF6");
GaaScsGText mapF7 = new GaaScsGText();
mapF7.setName("mapF7");
GaaScsGText mapF8 = new GaaScsGText();
mapF8.setName("mapF8");
GaaScsGText mapF9 = new GaaScsGText();
mapF9.setName("mapF9");
GaaScsGText mapF10 = new GaaScsGText();
mapF10.setName("mapF10");
ScsGSpinner mapSpinner = new com.scs.awt.ScsGSpinner();
mapSpinner.setName("MapSpinner");
mapSpinner.setMaximum(99);
grid.getColumn(0).setEditComponent(mapSpinner);
grid.getColumn(1).setEditComponent(mapF1);
grid.getColumn(2).setEditComponent(mapF2);
grid.getColumn(3).setEditComponent(mapF3);
grid.getColumn(4).setEditComponent(mapF4);
grid.getColumn(5).setEditComponent(mapF5);
grid.getColumn(6).setEditComponent(mapF6);
grid.getColumn(7).setEditComponent(mapF7);
grid.getColumn(8).setEditComponent(mapF8);
grid.getColumn(9).setEditComponent(mapF9);
grid.getColumn(10).setEditComponent(mapF10);
return grid;
}
public void mouseEntered(MouseEvent e) {
int i, j;
if (problem.withStatusHelp) {
if (e.getSource() instanceof Label)
{
Label lbl = (Label)e.getSource();
for (i=0;i<GROUPNUM;i++) {
for (j=0;j<groupCount[i];j++) {
if (labels[i][j] == lbl)
GaaApplet.statusLabel.setText(tips[i][j]);
}
}
}
else
if (e.getSource() instanceof TextComponent)
{
TextComponent txt = (TextComponent)e.getSource();
for (i=0;i<GROUPNUM;i++) {
for (j=0;j<groupCount[i];j++) {
if (texts[i][j] == txt)
GaaApplet.statusLabel.setText(tips[i][j]);
}
}
if ((txt == txtExpression))
GaaApplet.statusLabel.setText("Enter/Modify mathematical expression with variables x1, [x2,x3,x4...x20] (e.g. x1/x2+sin(x1))");
else if ((txt == txtMin))
GaaApplet.statusLabel.setText("Set a common minimum value for each paramater (set non-equal parameters in Alleles Definition Table)");
else if ((txt == txtMax))
GaaApplet.statusLabel.setText("Set a common maximum value for each paramater (set non-equal parameters in Alleles Definition Table)");
else if ((txt == txtNumGenes))
GaaApplet.statusLabel.setText("Set number of genes in a chromosome (chrmosome length)");
else if ((txt == txtNumVariables))
GaaApplet.statusLabel.setText("Define number of unique variables (x1,x2,x3...x20)");
else if ((txt == txtExitValue))
GaaApplet.statusLabel.setText("Define function value at which the process should stop");
}
else
if (e.getSource() instanceof Button)
{
Button but = (Button)e.getSource();
if ((but == buttons[0][0]) || (but == buttons[1][0]) || (but == buttons[2][0]) || (but == buttons[3][0]))
GaaApplet.statusLabel.setText("Reset all values to current defaults");
else if ((but == buttons[0][1]) || (but == buttons[1][1]) || (but == buttons[2][1]) || (but == buttons[3][1]))
GaaApplet.statusLabel.setText("Update problem parameters according to displaued values");
else if ((but == buttons[0][2]) || (but == buttons[1][2]) || (but == buttons[2][2]) || (but == buttons[3][2]))
GaaApplet.statusLabel.setText("Load parameters from a file");
else if ((but == buttons[0][3]) || (but == buttons[1][3]) || (but == buttons[2][3]) || (but == buttons[3][3]))
GaaApplet.statusLabel.setText("Save displayed parameters to a file");
else if ((but == buttons[0][4]) || (but == buttons[1][4]) || (but == buttons[2][4]) || (but == buttons[3][4]))
GaaApplet.statusLabel.setText("Re-Load values from default parameters file");
else if ((but == udfButtons[0]))
GaaApplet.statusLabel.setText("Define the optimization problem according to the settings on this screen");
else if ((but == udfButtons[1]))
GaaApplet.statusLabel.setText("Display instruction for interactive user defined function optimization");
else if ((but == strategyButtons[0]))
GaaApplet.statusLabel.setText("Define properties for strategy evolution experiment");
else if ((but == strategyButtons[1]))
GaaApplet.statusLabel.setText("Display instruction for experimenting with strategy evolution");
}
}
}
public void mouseExited(MouseEvent e) {
GaaApplet.statusLabel.setText("");
}
public void mouseClicked(MouseEvent e) {
int i, ret;
if (e.getSource() instanceof Button)
{
Button btn = (Button)e.getSource();
if ((btn == buttons[0][0]) || (btn == buttons[1][0]) || (btn == buttons[2][0]) || (btn == buttons[3][0])){
initParameters(false);
problem.defineAlleles();
ret = MsgDialog.msg("Confirmation", "Parameters reset", MsgDialog.MB_OK, 0);
}
else if ((btn == buttons[0][1]) || (btn == buttons[1][1]) || (btn == buttons[2][1]) || (btn == buttons[3][1])){
GaaApplet.statusLabel.setText("Please wait...");
this.setCursor(new Cursor(Cursor.WAIT_CURSOR));
buttons[0][1].setCursor(new Cursor(Cursor.WAIT_CURSOR));
buttons[1][1].setCursor(new Cursor(Cursor.WAIT_CURSOR));
buttons[2][1].setCursor(new Cursor(Cursor.WAIT_CURSOR));
intPanel.setCursor(new Cursor(Cursor.WAIT_CURSOR));
reaPanel.setCursor(new Cursor(Cursor.WAIT_CURSOR));
strPanel.setCursor(new Cursor(Cursor.WAIT_CURSOR));
updateParameters(0);
problem.defineAlleles();
pop.initPopulation();
updateDefGrid();
updateMapGrid();
GaaApplet.statusLabel.setText("");
this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
buttons[0][1].setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
buttons[1][1].setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
buttons[2][1].setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
intPanel.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
reaPanel.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
strPanel.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
ret = MsgDialog.msg("Confirmation", "Data Updated", MsgDialog.MB_OK, 0);
}
if ((btn == buttons[0][4]) || (btn == buttons[1][4]) || (btn == buttons[2][4]) || (btn == buttons[3][4])){
problem = new GaaProblem(GaaApplet.mainDir, problem.parFileName);
initParameters(false);
problem.defineAlleles();
ret = MsgDialog.msg("Confirmation", "Parameters reloded from default file", MsgDialog.MB_OK, 0);
}
if ((btn == buttons[0][2]) || (btn == buttons[1][2]) || (btn == buttons[2][2]) || (btn == buttons[3][2])){
loadParams();
}
if ((btn == buttons[0][3]) || (btn == buttons[1][3]) || (btn == buttons[2][3]) || (btn == buttons[3][3])){
saveParams();
}
else if (btn == defButtons[0])
initDefGrid();
else if (btn == defButtons[1])
copyDefGridSelected();
else if (btn == defButtons[2]) {
updateDefData();
}
else if (btn == defButtons[3]) {
updateDefGrid();
}
else if (btn == mapButtons[0]) {
resetMapGrid();
}
else if (btn == mapButtons[1]) {
updateMapData();
}
else if (btn == mapButtons[2]) {
updateMapGrid();
}
else if (btn == udfButtons[0]) {
if (GaaApplet.gaaAppMode.equals("Applet"))
ret = MsgDialog.msg("Not supported in Applet mode", "This option can only be accessed in Application mode", MsgDialog.MB_OK, 0);
else
updateUdfPanel();
}
else if (btn == udfButtons[1]) {
GaaApplet.udfhelpwin.show();
}
else if (btn == strategyButtons[0]) {
updateStrategyPanel();
}
else if (btn == strategyButtons[1]) {
GaaApplet.strategyhelpwin.show();
}
}
}
public void mousePressed(MouseEvent e) {
int i,j;
if (e.isMetaDown()) {
//GaaApplet.statusLabel.setText(tips[0][0]);
if (e.getSource() instanceof Label)
{
Label lbl = (Label)e.getSource();
for (i=0;i<GROUPNUM;i++) {
for (j=0;j<groupCount[i];j++) {
if (labels[i][j] == lbl)
GaaApplet.statusLabel.setText(helps[i][j]);
}
}
}
else
if (e.getSource() instanceof TextField)
{
TextField txt = (TextField)e.getSource();
for (i=0;i<GROUPNUM;i++) {
for (j=0;j<groupCount[i];j++) {
if (texts[i][j] == txt)
GaaApplet.statusLabel.setText(helps[i][j]);
}
}
}
}
}
public void mouseReleased(MouseEvent e) {
System.gc();
//statusLabel.setText("");
}
public void actionPerformed( ActionEvent evt ) {
Object src = evt.getSource();
//statusLabel.setText("Action evt= "+evt.toString()+" src= "+src.toString());
}
public void cellChanged(CellEvent evt) {
}
public void cellSelected(CellEvent evt) {
Object src = evt.getSource();
//statusLabel.setText("CellSelected evt= "+evt.toString()+" src= "+src.toString());
}
public void itemStateChanged(ItemEvent e) {
int sel;
String txt;
if (e.getSource() instanceof Choice) {
Choice ch = (Choice)e.getSource();
if (ch == chcChoice1) {
sel = ch.getSelectedIndex();
txt = ch.getSelectedItem();
txtString1.setText(strategyStrings[sel]);
}
else if (ch == chcChoice2) {
sel = ch.getSelectedIndex();
txt = ch.getSelectedItem();
txtString2.setText(strategyStrings[sel]);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -