📄 predictionassessmentoperatorproperty.java
字号:
public void stateChanged(ChangeEvent e) {
thresholdValue = (double) thresholdSlider.getValue() / 10;
thresholdLabel.setText(Resource.srcStr("thresholdLabel") + "(" + thresholdValue + ")");
}
/**
* Restore the previous user configuration On Feb. 4, 2005.
*/
private void restorePreviousContent() {
// <<30/06/2005 Mark Li: Modify for Evauation target value
// oneRadioButton.setEnabled(false);
// zeroRadioButton.setEnabled(false);
targetEventLevelComboBox.setEnabled(false);
// 30/06/2005 Mark Li: Modify for Evauation target value>>
chartTypeComboBox.setEnabled(false);
drawStyleComboBox.setEnabled(false);
// <<30/06/2005 Mark Li: Modify for Evauation target value
// zeroRadioButton.setSelected(true);
// 30/06/2005 Mark Li: Modify for Evauation target value>>
chartTypeComboBox.setSelectedIndex(0);
drawStyleComboBox.setSelectedIndex(0);
thresholdSlider.setValue(5);
thresholdSlider.setEnabled(true);
selectMatrixRadioButton.setSelected(true);
/* Get parameter from user input */
String evaluationMode = (String) m_Node.getParameterValue(PredictionAssessmentOperator.EVALUATIONMODE);
String threshold = (String) m_Node.getParameterValue(PredictionAssessmentOperator.THRESHOLD);
String targetLevel = (String) m_Node.getParameterValue(PredictionAssessmentOperator.TARGET_LEVEL);
String chartType = (String) m_Node.getParameterValue(PredictionAssessmentOperator.CHART_TYPE);
String drawStyle = (String) m_Node.getParameterValue(PredictionAssessmentOperator.DRAW_STYLE);
modelsArray = new Object[modelNamesList.size()][2];
for (int i = 0; i < modelNamesList.size(); i++) {
modelsArray[i][0] = modelNamesList.get(i);
String val = (String) m_Node.getParameterValue((String) modelsArray[i][0]);
if (val == null) {
modelsArray[i][1] = new Boolean(false);
} else {
modelsArray[i][1] = new Boolean(val);
}
}
((AccessmentOperatorTableModel) modelsTable.getModel()).setData(modelsArray, tableColumnNum);
dataSetsArray = new Object[datasetsList.size()][2];
for (int i = 0; i < datasetsList.size(); i++) {
dataSetsArray[i][0] = datasetsList.get(i);
String val = (String) m_Node.getParameterValue((String) dataSetsArray[i][0]);
if (val == null) {
dataSetsArray[i][1] = new Boolean(false);
} else {
dataSetsArray[i][1] = new Boolean(val);
}
}
((AccessmentOperatorTableModel) datasetsTable.getModel()).setData(dataSetsArray, tableColumnNum);
if (evaluationMode != null) {
// <<17/03/2005, Frank J. Xu
// Restore all the parameters of the node, do not differentiate the
// mode.
if (targetLevel != null) {
// <<30/06/2005 Mark Li: Modify for Evauation target value
// if
// (targetLevel.equalsIgnoreCase(PredictionAssessmentOperatorUtil.EVAUATION_TARGET_ONE)){
// oneRadioButton.setSelected(true);
// }else{
// zeroRadioButton.setSelected(true);
// }
targetEventLevelComboBox.setEnabled(true);
targetEventLevelComboBox.setSelectedIndex(Integer.parseInt(targetLevel));
// 30/06/2005 Mark Li: Modify for Evauation target value>>
}
if (drawStyle != null) {
if (drawStyle.equalsIgnoreCase(PredictionAssessmentOperatorProperty.DRAW_STYLE_LINE)) {
drawStyleComboBox.setSelectedIndex(1);
} else {
drawStyleComboBox.setSelectedIndex(0);
}
}
if (chartType != null) {
if (chartType.equalsIgnoreCase(PredictionAssessmentOperatorProperty.CHART_TYPE_CUMULATIVE_GAIN)) {
chartTypeComboBox.setSelectedIndex(0);
} else {
chartTypeComboBox.setSelectedIndex(1);
}
}
if (threshold != null) {
thresholdSlider.setValue((int) (10 * Double.parseDouble(threshold)));
}
if (evaluationMode.equalsIgnoreCase(PredictionAssessmentOperatorUtil.EVALUATION_EVALUATIONCHART_MODE)) {
selectEvaRadioButton.setEnabled(true);
selectEvaRadioButton.setSelected(true);
// <<30/06/2005 Mark Li: Modify for Evauation target value
// zeroRadioButton.setEnabled(true);
// oneRadioButton.setEnabled(true);
targetEventLevelComboBox.setEditable(true);
// 30/06/2005 Mark Li: Modify for Evauation target value>>
drawStyleComboBox.setEnabled(true);
chartTypeComboBox.setEnabled(true);
thresholdSlider.setEnabled(false);
} else {
selectMatrixRadioButton.setSelected(true);
selectMatrixRadioButton.setSelected(false);
thresholdSlider.setEnabled(true);
drawStyleComboBox.setEnabled(false);
chartTypeComboBox.setEnabled(false);
// <<30/06/2005 Mark Li: Modify for Evauation target value
// oneRadioButton.setEnabled(false);
// zeroRadioButton.setEnabled(false);
targetEventLevelComboBox.setEnabled(false);
// 30/06/2005 Mark Li: Modify for Evauation target value>>
}
// 17/03/2005, Frank J. Xu>>
}
assessmentPanel.repaint();
}
private boolean setContent() {
if (m_Node == null)
return false;
int numOfModel = 0, numOfData = 0;
if (modelsArray != null) {
for (int i = 0; i < modelsArray.length; i++) {
m_Node.setParameterValue((String) modelsArray[i][0], modelsArray[i][1].toString());
if (modelsArray[i][1].toString().equals("true"))
numOfModel++;
}
}
if (dataSetsArray != null) {
for (int i = 0; i < dataSetsArray.length; i++) {
m_Node.setParameterValue((String) dataSetsArray[i][0], dataSetsArray[i][1].toString());
if (dataSetsArray[i][1].toString().equals("true"))
numOfData++;
}
}
m_Node.setParameterValue(PredictionAssessmentOperator.EVALUATIONMODE, buttonGroup.getSelection()
.getActionCommand());
// //<<17/03/2005, Frank J. Xu
// //Set all the parameters of the node, do not differentiate the mode.
// <<30/06/2005 Mark Li: Modify for Evauation target value
// m_Node.setParameterValue(PredictionAssessmentOperator.TARGET_LEVEL,
// levelButtonGroup.getSelection().getActionCommand());
m_Node.setParameterValue(PredictionAssessmentOperator.TARGET_LEVEL, targetEventLevelComboBox.getSelectedIndex()
+ "");
// 30/06/2005 Mark Li: Modify for Evauation target value>>
m_Node.setParameterValue(PredictionAssessmentOperator.CHART_TYPE, chartTypeComboBox.getSelectedItem()
.toString());
m_Node.setParameterValue(PredictionAssessmentOperator.DRAW_STYLE, drawStyleComboBox.getSelectedItem()
.toString());
m_Node.setParameterValue(PredictionAssessmentOperator.THRESHOLD, ((double) thresholdSlider.getValue()) / 10.0d
+ "");
// 17/03/2005, Frank J. Xu>>
// m_ParentPanel.getCaseWindow().setModified(true);
setPropertiesModified();
// <<10/09/2005, Frank J. Xu
// Pop up warning messages for invaid models and datasets settings.
// Specification.
// Assessment operator should have at least one selected model and one
// selected dataset.
// Assessment operator should have no more than two selected model and
// no more than two selected dataset.
String message = null;
if (numOfModel <= 0) {
message = Resource.srcStr("OneMessage") + Resource.srcStr("model");
} else if (numOfModel > 3) {
message = Resource.srcStr("TwoMessage") + Resource.srcStr("models");
}
if (message != null) {
m_MessageDialog.showWarning(message, "Invalid input values");
return false;
}
if (numOfData <= 0) {
message = Resource.srcStr("OneMessage") + Resource.srcStr("datasource");
} else if (numOfData > 2) {
message = Resource.srcStr("TwoMessage") + Resource.srcStr("datasources");
}
if (message != null) {
m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
return false;
}
// 10/09/2005, Frank J. Xu>>
return true;
}
void setEnable(boolean b) {
chartTypeComboBox.setEnabled(b);
drawStyleComboBox.setEnabled(b);
// <<30/06/2005 Mark Li: Modify for Evauation target value
// zeroRadioButton.setEnabled(b);
// oneRadioButton.setEnabled(b);
targetEventLevelComboBox.setEnabled(b);
// 30/06/2005 Mark Li: Modify for Evauation target value>>
// <<Frank J. Xu, Bug 213.
// thresholdSlider.setValue(5);
thresholdSlider.setEnabled(!b);
// chartTypeComboBox.setSelectedIndex(0);
// drawStyleComboBox.setSelectedIndex(0);
// Frank J. Xu, Bug 213.>>
// <<30/06/2005 Mark Li: Modify for Evauation target value
// oneRadioButton.setSelected(false);
// 30/06/2005 Mark Li: Modify for Evauation target value>>
selectMatrixRadioButton.setSelected(!b);
selectEvaRadioButton.setSelected(b);
}
public ArrayList<String> getModelNamesList() {
return modelNamesList;
}
public void setModelNamesList(ArrayList<String> modelNamesList) {
this.modelNamesList = modelNamesList;
}
public ArrayList getDatasetsList() {
return datasetsList;
}
public void setDatasetsList(ArrayList datasetsList) {
this.datasetsList = datasetsList;
}
}
/**
*
* @author mli
*
* This Class is responsible for the Table Model in Assessment Operator Property
*
*/
// <<01/02/2005 Mark Li: Modify the table to add the header and appearance
// class AccessmentOperatorTableModel extends AbstractTableModel {
class AccessmentOperatorTableModel extends DefaultTableModel {
/**
*
*/
private static final long serialVersionUID = 1466745387555651968L;
// 01/02/2005 Mark Li>>
private Object[][] data;
private int columnNum = 2; // default 2
// <<01/02/2005 Mark Li: Modify the table to add the header and appearance
Class[] types = new Class[] { String.class, Boolean.class };
private static String[] a_ColumnName = { Resource.srcStr("Name"), Resource.srcStr("Use") };
boolean[] canEdit = new boolean[] { false, true };
// <<01/02/2005 Mark Li: Modify the table to add the header and appearance
/**
* Constructs an AttributesTableModel
*
* @param a_ColumnName
* header names
* @param a_ColumnData
* table data
*/
public AccessmentOperatorTableModel(Object[][] a_ColumnData) {
super(a_ColumnData, a_ColumnName);
data = a_ColumnData;
}
// 01/02/2005 Mark Li>>
public void setData(Object dataSrc, int col) {
data = (Object[][]) dataSrc;
columnNum = col;
}
public int getColumnCount() {
return columnNum;
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
/*
* JTable uses this method to determine the default renderer/ editor for
* each cell. If we didn't implement this method, then the last column would
* contain text ("true"/"false"), rather than a check box.
*/
@SuppressWarnings("unchecked")
public Class getColumnClass(int c) {
return types[c];
}
/*
* Set the first column un-editable, others is editable
*/
public boolean isCellEditable(int row, int col) {
return canEdit[col];
}
/*
* Don't need to implement this method unless your table's data can change.
*/
public void setValueAt(Object value, int row, int col) {
data[row][col] = value;
fireTableCellUpdated(row, col);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -