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

📄 predictionassessmentoperatorproperty.java

📁 一个数据挖掘软件ALPHAMINERR的整个过程的JAVA版源代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:

	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 + -