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

📄 resultspanel.java

📁 代码是一个分类器的实现,其中使用了部分weka的源代码。可以将项目导入eclipse运行
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    p3.setBorder(BorderFactory.createTitledBorder("Configure test"));    GridBagLayout gbL = new GridBagLayout();    p3.setLayout(gbL);    int y = 0;    GridBagConstraints gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = y;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(m_TesterClassesLabel,gbC);    m_TesterClassesLabel.setDisplayedMnemonic('w');    m_TesterClassesLabel.setLabelFor(m_TesterClasses);    p3.add(m_TesterClassesLabel);    gbC = new GridBagConstraints();    gbC.gridy = y;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbC.fill = GridBagConstraints.HORIZONTAL;    gbL.setConstraints(m_TesterClasses, gbC);    p3.add(m_TesterClasses);    m_TesterClasses.addActionListener(new ActionListener() {	public void actionPerformed(ActionEvent e) {	  setTester();	}      });    setSelectedItem(m_TesterClasses, ExperimenterDefaults.getTester());        y++;    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = y;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(m_DatasetKeyLabel,gbC);    m_DatasetKeyLabel.setDisplayedMnemonic('R');    m_DatasetKeyLabel.setLabelFor(m_DatasetKeyBut);    p3.add(m_DatasetKeyLabel);    gbC = new GridBagConstraints();    gbC.fill = GridBagConstraints.HORIZONTAL;    gbC.gridy = y;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbL.setConstraints(m_DatasetKeyBut, gbC);    p3.add(m_DatasetKeyBut);        y++;    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = y;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(m_ResultKeyLabel, gbC);    m_ResultKeyLabel.setDisplayedMnemonic('C');    m_ResultKeyLabel.setLabelFor(m_ResultKeyBut);    p3.add(m_ResultKeyLabel);    gbC = new GridBagConstraints();    gbC.fill = GridBagConstraints.HORIZONTAL;    gbC.gridy = y;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbL.setConstraints(m_ResultKeyBut, gbC);    p3.add(m_ResultKeyBut);        y++;    JLabel lab = new JLabel("Comparison field", SwingConstants.RIGHT);    lab.setDisplayedMnemonic('m');    lab.setLabelFor(m_CompareCombo);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = y;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.gridy = y;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbC.fill = GridBagConstraints.HORIZONTAL;    gbL.setConstraints(m_CompareCombo, gbC);    p3.add(m_CompareCombo);        y++;    lab = new JLabel("Significance", SwingConstants.RIGHT);    lab.setDisplayedMnemonic('g');    lab.setLabelFor(m_SigTex);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = y;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.fill = GridBagConstraints.HORIZONTAL;    gbC.gridy = y;     gbC.gridx = 1;  gbC.weightx = 100;    gbL.setConstraints(m_SigTex, gbC);    p3.add(m_SigTex);        y++;    lab = new JLabel("Sorting (asc.) by", SwingConstants.RIGHT);    lab.setDisplayedMnemonic('S');    lab.setLabelFor(m_SortCombo);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = y;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.WEST;    gbC.fill = GridBagConstraints.HORIZONTAL;    gbC.gridy = y;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbL.setConstraints(m_SortCombo, gbC);    p3.add(m_SortCombo);        y++;    lab = new JLabel("Test base", SwingConstants.RIGHT);    lab.setDisplayedMnemonic('b');    lab.setLabelFor(m_TestsButton);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = y;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.fill = GridBagConstraints.HORIZONTAL;    gbC.gridy = y;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbL.setConstraints(m_TestsButton, gbC);    p3.add(m_TestsButton);    y++;    lab = new JLabel("Displayed Columns", SwingConstants.RIGHT);    lab.setDisplayedMnemonic('i');    lab.setLabelFor(m_DisplayedButton);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = y;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.fill = GridBagConstraints.HORIZONTAL;    gbC.gridy = y;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbL.setConstraints(m_DisplayedButton, gbC);    p3.add(m_DisplayedButton);    y++;    lab = new JLabel("Show std. deviations", SwingConstants.RIGHT);    lab.setDisplayedMnemonic('a');    lab.setLabelFor(m_ShowStdDevs);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = y;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.WEST;    gbC.gridy = y;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbL.setConstraints(m_ShowStdDevs, gbC);    p3.add(m_ShowStdDevs);    y++;    lab = new JLabel("Output Format", SwingConstants.RIGHT);    lab.setDisplayedMnemonic('O');    lab.setLabelFor(m_OutputFormatButton);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = y;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.WEST;    gbC.fill = GridBagConstraints.HORIZONTAL;    gbC.gridy = y;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbL.setConstraints(m_OutputFormatButton, gbC);    p3.add(m_OutputFormatButton);        JPanel output = new JPanel();    output.setLayout(new BorderLayout());    output.setBorder(BorderFactory.createTitledBorder("Test output"));    output.add(new JScrollPane(m_OutText), BorderLayout.CENTER);    JPanel mondo = new JPanel();    gbL = new GridBagLayout();    mondo.setLayout(gbL);    gbC = new GridBagConstraints();    //    gbC.anchor = GridBagConstraints.WEST;    //    gbC.fill = GridBagConstraints.HORIZONTAL;    gbC.gridy = 0;     gbC.gridx = 0;    gbL.setConstraints(p3, gbC);    mondo.add(p3);    JPanel bts = new JPanel();    m_PerformBut.setMnemonic('t');    m_SaveOutBut.setMnemonic('S');    bts.setLayout(new GridLayout(1,2,5,5));    bts.add(m_PerformBut);    bts.add(m_SaveOutBut);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.NORTH;    gbC.fill = GridBagConstraints.HORIZONTAL;    gbC.gridy = 1;     gbC.gridx = 0;    gbC.insets = new Insets(5,5,5,5);    gbL.setConstraints(bts, gbC);    mondo.add(bts);    gbC = new GridBagConstraints();    //gbC.anchor = GridBagConstraints.NORTH;    gbC.fill = GridBagConstraints.BOTH;    gbC.gridy = 2;     gbC.gridx = 0; gbC.weightx = 0;    gbC.weighty = 100;    gbL.setConstraints(m_History, gbC);    mondo.add(m_History);    /*gbC = new GridBagConstraints();    gbC.fill = GridBagConstraints.BOTH;    gbC.gridy = 0;     gbC.gridx = 1;    gbC.gridheight = 3;    gbC.weightx = 100; gbC.weighty = 100;    gbL.setConstraints(output, gbC);*/    //mondo.add(output);    JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,					  mondo, output);    splitPane.setOneTouchExpandable(true);    //splitPane.setDividerLocation(100);    setLayout(new BorderLayout());    add(p1, BorderLayout.NORTH);    //add(mondo , BorderLayout.CENTER);    add(splitPane , BorderLayout.CENTER);  }  /**   * Sets the combo-boxes to a fixed size so they don't take up too much room   * that would be better devoted to the test output box   */  protected void setComboSizes() {        m_TesterClasses.setPreferredSize(COMBO_SIZE);    m_DatasetKeyBut.setPreferredSize(COMBO_SIZE);    m_ResultKeyBut.setPreferredSize(COMBO_SIZE);    m_CompareCombo.setPreferredSize(COMBO_SIZE);    m_SigTex.setPreferredSize(COMBO_SIZE);    m_SortCombo.setPreferredSize(COMBO_SIZE);    m_TesterClasses.setMaximumSize(COMBO_SIZE);    m_DatasetKeyBut.setMaximumSize(COMBO_SIZE);    m_ResultKeyBut.setMaximumSize(COMBO_SIZE);    m_CompareCombo.setMaximumSize(COMBO_SIZE);    m_SigTex.setMaximumSize(COMBO_SIZE);    m_SortCombo.setMaximumSize(COMBO_SIZE);    m_TesterClasses.setMinimumSize(COMBO_SIZE);    m_DatasetKeyBut.setMinimumSize(COMBO_SIZE);    m_ResultKeyBut.setMinimumSize(COMBO_SIZE);    m_CompareCombo.setMinimumSize(COMBO_SIZE);    m_SigTex.setMinimumSize(COMBO_SIZE);    m_SortCombo.setMinimumSize(COMBO_SIZE);  }    /**   * Tells the panel to use a new experiment.   *   * @param exp a value of type 'Experiment'   */  public void setExperiment(Experiment exp) {        m_Exp = exp;    m_FromExpBut.setEnabled(exp != null);  }  /**   * Queries the user enough to make a database query to retrieve experiment   * results.   */  protected void setInstancesFromDBaseQuery() {    try {      if (m_InstanceQuery == null) {	m_InstanceQuery = new InstanceQuery();      }      String dbaseURL = m_InstanceQuery.getDatabaseURL();      String username = m_InstanceQuery.getUsername();      String passwd = m_InstanceQuery.getPassword();      /*dbaseURL = (String) JOptionPane.showInputDialog(this,					     "Enter the database URL",					     "Query Database",					     JOptionPane.PLAIN_MESSAGE,					     null,					     null,					     dbaseURL);*/                       DatabaseConnectionDialog dbd= new DatabaseConnectionDialog(null,dbaseURL,username);      dbd.setVisible(true);            //if (dbaseURL == null) {      if (dbd.getReturnValue()==JOptionPane.CLOSED_OPTION) {	m_FromLab.setText("Cancelled");	return;      }      dbaseURL=dbd.getURL();      username=dbd.getUsername();      passwd=dbd.getPassword();      m_InstanceQuery.setDatabaseURL(dbaseURL);      m_InstanceQuery.setUsername(username);      m_InstanceQuery.setPassword(passwd);      m_InstanceQuery.setDebug(dbd.getDebug());            m_InstanceQuery.connectToDatabase();      if (!m_InstanceQuery.experimentIndexExists()) {	System.err.println("not found");	m_FromLab.setText("No experiment index");	return;      }      System.err.println("found");      m_FromLab.setText("Getting experiment index");      Instances index = m_InstanceQuery.retrieveInstances("SELECT * FROM "				       + InstanceQuery.EXP_INDEX_TABLE);      if (index.numInstances() == 0) {	m_FromLab.setText("No experiments available");	return;	      }      m_FromLab.setText("Got experiment index");      DefaultListModel lm = new DefaultListModel();      for (int i = 0; i < index.numInstances(); i++) {	lm.addElement(index.instance(i).toString());      }      JList jl = new JList(lm);      jl.setSelectedIndex(0);      int result;      // display dialog only if there's not just one result!      if (jl.getModel().getSize() != 1) {        ListSelectorDialog jd = new ListSelectorDialog(null, jl);        result = jd.showDialog();      }      else {        result = ListSelectorDialog.APPROVE_OPTION;      }      if (result != ListSelectorDialog.APPROVE_OPTION) {	m_FromLab.setText("Cancelled");	return;      }      Instance selInst = index.instance(jl.getSelectedIndex());      Attribute tableAttr = index.attribute(InstanceQuery.EXP_RESULT_COL);      String table = InstanceQuery.EXP_RESULT_PREFIX	+ selInst.toString(tableAttr);      setInstancesFromDatabaseTable(table);          } catch (Exception ex) {       // 1. print complete stacktrace       ex.printStackTrace();       // 2. print message in panel       m_FromLab.setText("Problem reading database: '" + ex.getMessage() + "'");    }  }    /**   * Examines the supplied experiment to determine the results destination   * and attempts to load the results.   *   * @param exp a value of type 'Experiment'   */  protected void setInstancesFromExp(Experiment exp) {    if ((exp.getResultListener() instanceof CSVResultListener)) {       File resultFile = ((CSVResultListener) exp.getResultListener())	.getOutputFile();      if ((resultFile == null)) {	m_FromLab.setText("No result file");      } else {	setInstancesFromFile(resultFile);      }    } else if (exp.getResultListener() instanceof DatabaseResultListener) {      String dbaseURL = ((DatabaseResultListener) exp.getResultListener())	.getDatabaseURL();      try {	if (m_InstanceQuery == null) {	  m_InstanceQuery = new InstanceQuery();	}	m_InstanceQuery.setDatabaseURL(dbaseURL);	m_InstanceQuery.connectToDatabase();	String tableName = m_InstanceQuery	  .getResultsTableName(exp.getResultProducer());	setInstancesFromDatabaseTable(tableName);      } catch (Exception ex) {	m_FromLab.setText("Problem reading database");      }    } else {      m_FromLab.setText("Can't get results from experiment");    }  }    /**   * Queries a database to load results from the specified table name. The   * database connection must have already made by m_InstanceQuery.   *   * @param tableName the name of the table containing results to retrieve.   */  protected void setInstancesFromDatabaseTable(String tableName) {    try {      m_FromLab.setText("Reading from database, please wait...");      final Instances i = m_InstanceQuery.retrieveInstances("SELECT * FROM "						      + tableName);      SwingUtilities.invokeAndWait(new Runnable() {	public void run() {	  setInstances(i);	}      });      m_InstanceQuery.disconnectFromDatabase();    } catch (Exception ex) {      m_FromLab.setText(ex.getMessage());    }  }    /**   * Loads results from a set of instances contained in the supplied   * file.   *   * @param f a value of type 'File'   */  protected void setInstancesFromFile(File f) {    String fileType = f.getName();    try {      m_FromLab.setText("Reading from file...");      if (f.getName().toLowerCase().endsWith(Instances.FILE_EXTENSION)) {	    	fileType = "arff";	Reader r = new BufferedReader(new FileReader(f));	setInstances(new Instances(r));	r.close();      } else if (f.getName().toLowerCase().endsWith(CSVLoader.FILE_EXTENSION)) {	fileType = "csv";	CSVLoader cnv = new CSVLoader();	cnv.setSource(f);	Instances inst = cnv.getDataSet();	setInstances(inst);      } else {	throw new Exception("Unrecognized file type");      }    } catch (Exception ex) {      m_FromLab.setText("File '" + f.getName() + "' not recognised as an "			  +fileType+" file.");      if (JOptionPane.showOptionDialog(ResultsPanel.this,				       "File '" + f.getName()				       + "' not recognised as an "				       +fileType+" file.\n"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -