Examples of VisualizePanel


Examples of weka.gui.visualize.VisualizePanel

                  predInstances.numInstances() > 0) {
    if (predInstances.attribute(predInstances.classIndex())
        .isNumeric()) {
      postProcessPlotInfo(plotSize);
    }
    m_CurrentVis = new VisualizePanel();
    m_CurrentVis.setName(name+" ("+inst.relationName()+")");
    m_CurrentVis.setLog(m_Log);
    PlotData2D tempd = new PlotData2D(predInstances);
    tempd.setShapeSize(plotSize);
    tempd.setShapeType(plotShape);
View Full Code Here

Examples of weka.gui.visualize.VisualizePanel

    FastVector o = null;
    if (selectedName != null) {
      o = (FastVector)m_History.getNamedObject(selectedName);
    }

    VisualizePanel temp_vp = null;
    String temp_grph = null;
    FastVector temp_preds = null;
    Attribute temp_classAtt = null;
    Classifier temp_classifier = null;
    Instances temp_trainHeader = null;
     
    if (o != null) {
      for (int i = 0; i < o.size(); i++) {
  Object temp = o.elementAt(i);
  if (temp instanceof Classifier) {
    temp_classifier = (Classifier)temp;
  } else if (temp instanceof Instances) { // training header
    temp_trainHeader = (Instances)temp;
  } else if (temp instanceof VisualizePanel) { // normal errors
    temp_vp = (VisualizePanel)temp;
  } else if (temp instanceof String) { // graphable output
    temp_grph = (String)temp;
  } else if (temp instanceof FastVector) { // predictions
    temp_preds = (FastVector)temp;
  } else if (temp instanceof Attribute) { // class attribute
    temp_classAtt = (Attribute)temp;
  }
      }
    }

    final VisualizePanel vp = temp_vp;
    final String grph = temp_grph;
    final FastVector preds = temp_preds;
    final Attribute classAtt = temp_classAtt;
    final Classifier classifier = temp_classifier;
    final Instances trainHeader = temp_trainHeader;
   
    JMenuItem saveModel = new JMenuItem(Messages.getInstance().getString("ClassifierPanel_Visualize_SaveModel_JMenuItem_Text"));
    if (classifier != null) {
      saveModel.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
      saveClassifier(selectedName, classifier, trainHeader);
    }
  });
    } else {
      saveModel.setEnabled(false);
    }
    resultListMenu.add(saveModel);

    JMenuItem reEvaluate =
      new JMenuItem(Messages.getInstance().getString("ClassifierPanel_Visualize_ReEvaluate_JMenuItem_Text"));
    if (classifier != null && m_TestLoader != null) {
      reEvaluate.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
      reevaluateModel(selectedName, classifier, trainHeader);
    }
  });
    } else {
      reEvaluate.setEnabled(false);
    }
    resultListMenu.add(reEvaluate);
   
    resultListMenu.addSeparator();
   
    JMenuItem visErrors = new JMenuItem(Messages.getInstance().getString("ClassifierPanel_Visualize_VisErrors_JMenuItem_Text"));
    if (vp != null) {
      if ((vp.getXIndex() == 0) && (vp.getYIndex() == 1)) {
  try {
    vp.setXIndex(vp.getInstances().classIndex())// class
    vp.setYIndex(vp.getInstances().classIndex() - 1)// predicted class
  }
  catch (Exception e) {
    // ignored
  }
      }
      visErrors.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
      visualizeClassifierErrors(vp);
    }
  });
    } else {
      visErrors.setEnabled(false);
    }
    resultListMenu.add(visErrors);

    JMenuItem visGrph = new JMenuItem(Messages.getInstance().getString("ClassifierPanel_Visualize_VisGrph_JMenuItem_Text_First"));
    if (grph != null) {
  if(((Drawable)temp_classifier).graphType()==Drawable.TREE) {
      visGrph.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
      String title;
      if (vp != null) title = vp.getName();
      else title = selectedName;
      visualizeTree(grph, title);
        }
    });
  }
  else if(((Drawable)temp_classifier).graphType()==Drawable.BayesNet) {
      visGrph.setText(Messages.getInstance().getString("ClassifierPanel_Visualize_VisGrph_JMenuItem_Text_Second"));
      visGrph.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
      Thread th = new Thread() {
        public void run() {
        visualizeBayesNet(grph, selectedName);
        }
          };
      th.start();
        }
    });
  }
  else
      visGrph.setEnabled(false);
    } else {
      visGrph.setEnabled(false);
    }
    resultListMenu.add(visGrph);

    JMenuItem visMargin = new JMenuItem(Messages.getInstance().getString("ClassifierPanel_Visualize_VisMargin_JMenuItem_Text"));
    if (preds != null) {
      visMargin.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
      try {
        MarginCurve tc = new MarginCurve();
        Instances result = tc.getCurve(preds);
        VisualizePanel vmc = new VisualizePanel();
        vmc.setName(result.relationName());
        vmc.setLog(m_Log);
        PlotData2D tempd = new PlotData2D(result);
        tempd.setPlotName(result.relationName());
        tempd.addInstanceNumberAttribute();
        vmc.addPlot(tempd);
        visualizeClassifierErrors(vmc);
      } catch (Exception ex) {
        ex.printStackTrace();
      }
    }
  });
    } else {
      visMargin.setEnabled(false);
    }
    resultListMenu.add(visMargin);

    JMenu visThreshold = new JMenu(Messages.getInstance().getString("ClassifierPanel_Visualize_VisThreshold_JMenu_Text"));
    if (preds != null && classAtt != null) {
      for (int i = 0; i < classAtt.numValues(); i++) {
  JMenuItem clv = new JMenuItem(classAtt.value(i));
  final int classValue = i;
  clv.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        try {
    ThresholdCurve tc = new ThresholdCurve();
    Instances result = tc.getCurve(preds, classValue);
    //VisualizePanel vmc = new VisualizePanel();
    ThresholdVisualizePanel vmc = new ThresholdVisualizePanel();
    vmc.setROCString(Messages.getInstance().getString("ClassifierPanel_Visualize_VMC_SetROCString_Text_First") +
         Utils.doubleToString(ThresholdCurve.getROCArea(result), 4) + Messages.getInstance().getString("ClassifierPanel_Visualize_VMC_SetROCString_Text_Second"));
    vmc.setLog(m_Log);
    vmc.setName(result.relationName()+Messages.getInstance().getString("ClassifierPanel_Visualize_VMC_SetName_Text_First") +
          classAtt.value(classValue) + Messages.getInstance().getString("ClassifierPanel_Visualize_VMC_SetName_Text_Second"));
    PlotData2D tempd = new PlotData2D(result);
    tempd.setPlotName(result.relationName());
    tempd.addInstanceNumberAttribute();
    // specify which points are connected
    boolean[] cp = new boolean[result.numInstances()];
    for (int n = 1; n < cp.length; n++)
      cp[n] = true;
    tempd.setConnectPoints(cp);
    // add plot
    vmc.addPlot(tempd);
    visualizeClassifierErrors(vmc);
        } catch (Exception ex) {
    ex.printStackTrace();
        }
        }
    });
    visThreshold.add(clv);
      }
    } else {
      visThreshold.setEnabled(false);
    }
    resultListMenu.add(visThreshold);
   
    JMenu visCostBenefit = new JMenu(Messages.getInstance().getString("ClassifierPanel_Visualize_VisCostBenefit_JMenu_Text"));
    if ((preds != null) && (classAtt != null) && (classAtt.isNominal())) {
      for (int i = 0; i < classAtt.numValues(); i++) {
        JMenuItem clv = new JMenuItem(classAtt.value(i));
        final int classValue = i;
        clv.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              try {
                ThresholdCurve tc = new ThresholdCurve();
                Instances result = tc.getCurve(preds, classValue);

                // Create a dummy class attribute with the chosen
                // class value as index 0 (if necessary).
                Attribute classAttToUse = classAtt;
                if (classValue != 0) {
                  FastVector newNames = new FastVector();
                  newNames.addElement(classAtt.value(classValue));
                  for (int k = 0; k < classAtt.numValues(); k++) {
                    if (k != classValue) {
                      newNames.addElement(classAtt.value(k));
                    }
                  }
                  classAttToUse = new Attribute(classAtt.name(), newNames);
                }
               
                CostBenefitAnalysis cbAnalysis = new CostBenefitAnalysis();
               
                PlotData2D tempd = new PlotData2D(result);
                tempd.setPlotName(result.relationName());
                tempd.m_alwaysDisplayPointsOfThisSize = 10;
                // specify which points are connected
                boolean[] cp = new boolean[result.numInstances()];
                for (int n = 1; n < cp.length; n++)
                  cp[n] = true;
                tempd.setConnectPoints(cp);
               
                String windowTitle = "";
                if (classifier != null) {
                  String cname = classifier.getClass().getName();
                  if (cname.startsWith("weka.classifiers.")) {
                    windowTitle = "" + cname.substring("weka.classifiers.".length()) + " ";
                  }
                }
                windowTitle += Messages.getInstance().getString("ClassifierPanel_Visualize_WindowTitle_Text_First") + classAttToUse.value(0) + Messages.getInstance().getString("ClassifierPanel_Visualize_WindowTitle_Text_Second");
               
                // add plot
                cbAnalysis.setCurveData(tempd, classAttToUse);
                visualizeCostBenefitAnalysis(cbAnalysis, windowTitle);
              } catch (Exception ex) {
                ex.printStackTrace();
              }
              }
          });
          visCostBenefit.add(clv);
      }
    } else {
      visCostBenefit.setEnabled(false);
    }
    resultListMenu.add(visCostBenefit);

    JMenu visCost = new JMenu(Messages.getInstance().getString("ClassifierPanel_VisCost_JMenu_Text"));
    if (preds != null && classAtt != null) {
      for (int i = 0; i < classAtt.numValues(); i++) {
  JMenuItem clv = new JMenuItem(classAtt.value(i));
  final int classValue = i;
  clv.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        try {
    CostCurve cc = new CostCurve();
    Instances result = cc.getCurve(preds, classValue);
    VisualizePanel vmc = new VisualizePanel();
    vmc.setLog(m_Log);
    vmc.setName(result.relationName()+Messages.getInstance().getString("ClassifierPanel_Visualize_VMC_SetName_Text_Third") +
          classAtt.value(classValue) + Messages.getInstance().getString("ClassifierPanel_Visualize_VMC_SetName_Text_Fourth"));
    PlotData2D tempd = new PlotData2D(result);
    tempd.m_displayAllPoints = true;
    tempd.setPlotName(result.relationName());
    boolean [] connectPoints =
      new boolean [result.numInstances()];
    for (int jj = 1; jj < connectPoints.length; jj+=2) {
      connectPoints[jj] = true;
    }
    tempd.setConnectPoints(connectPoints);
    //      tempd.addInstanceNumberAttribute();
    vmc.addPlot(tempd);
    visualizeClassifierErrors(vmc);
        } catch (Exception ex) {
    ex.printStackTrace();
        }
      }
View Full Code Here

Examples of weka.gui.visualize.VisualizePanel

                if (predInstances != null && predInstances.numInstances() > 0) {
                  if (predInstances.attribute(predInstances.classIndex())
                      .isNumeric()) {
                    postProcessPlotInfo(plotSize);
                  }
                  m_CurrentVis = new VisualizePanel();
                  m_CurrentVis.setName(name+" ("
                                       +userTestStructure.relationName()+")");
                  m_CurrentVis.setLog(m_Log);
                  PlotData2D tempd = new PlotData2D(predInstances);
                  tempd.setShapeSize(plotSize);
View Full Code Here

Examples of weka.gui.visualize.VisualizePanel

    int retVal = m_FileChooserPlot.showOpenDialog(m_Self);
    if (retVal != JFileChooser.APPROVE_OPTION)
      return;

    // build plot
    VisualizePanel panel = new VisualizePanel();
    String filenames = "";
    File[] files = m_FileChooserPlot.getSelectedFiles();
    for (int j = 0; j < files.length; j++) {
      String filename = files[j].getAbsolutePath();
      if (j > 0)
        filenames += ", ";
      filenames += filename;
      System.err.println(Messages.getInstance().getString("Main_InitGUI_Error_Text") + filename);
      try {
        Reader r = new java.io.BufferedReader(new FileReader(filename));
        Instances i = new Instances(r);
        i.setClassIndex(i.numAttributes()-1);
        PlotData2D pd1 = new PlotData2D(i);

        if (j == 0) {
    pd1.setPlotName(Messages.getInstance().getString("Main_InitGUI_Pd1_SetPlotName_Text_First"));
    panel.setMasterPlot(pd1);
        } else {
    pd1.setPlotName(Messages.getInstance().getString("Main_InitGUI_Pd1_SetPlotName_Text_Second") + (j+1));
    pd1.m_useCustomColour = true;
    pd1.m_customColour = (j % 2 == 0) ? Color.red : Color.blue;
    panel.addPlot(pd1);
        }
      }
      catch (Exception e) {
        e.printStackTrace();
        JOptionPane.showMessageDialog(
      m_Self, Messages.getInstance().getString("Main_InitGUI_Exception_JOptionPaneShowMessageDialog_Text_First") + files[j] + Messages.getInstance().getString("Main_InitGUI_Exception_JOptionPaneShowMessageDialog_Text_Second") + e.getMessage());
        return;
      }
    }

    // create frame
    createFrame(
        m_Self, jMenuItemVisualizationPlot.getText() + " - " + filenames,
        panel, new BorderLayout(),
        BorderLayout.CENTER, 800, 600, null, true, true);
  }
      });

      // Visualization/ROC
      // based on this Wiki article:
      // http://weka.sourceforge.net/wiki/index.php/Visualizing_ROC_curve
      jMenuItemVisualizationROC = new JMenuItem();
      jMenuVisualization.add(jMenuItemVisualizationROC);
      jMenuItemVisualizationROC.setText(Messages.getInstance().getString("Main_InitGUI_JMenuItemVisualizationROC_SetText_Text"));
      jMenuItemVisualizationROC.setMnemonic('R');
      jMenuItemVisualizationROC.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent evt) {
    // choose file
    int retVal = m_FileChooserROC.showOpenDialog(m_Self);
    if (retVal != JFileChooser.APPROVE_OPTION)
      return;

    // create plot
    String filename  = m_FileChooserROC.getSelectedFile().getAbsolutePath();
    Instances result = null;
    try {
      result = new Instances(new BufferedReader(new FileReader(filename)));
    }
    catch (Exception e) {
      e.printStackTrace();
      JOptionPane.showMessageDialog(
    m_Self, Messages.getInstance().getString("Main_InitGUI_Exception_JOptionPaneShowMessageDialog_Text_Third") + filename + Messages.getInstance().getString("Main_InitGUI_Exception_JOptionPaneShowMessageDialog_Text_Fourth") + e.getMessage());
      return;
    }
    result.setClassIndex(result.numAttributes() - 1);
    ThresholdVisualizePanel vmc = new ThresholdVisualizePanel();
    vmc.setROCString(Messages.getInstance().getString("Main_InitGUI_Vmc_SetROCString_Text") +
        Utils.doubleToString(ThresholdCurve.getROCArea(result), 4) + ")");
    vmc.setName(result.relationName());
    PlotData2D tempd = new PlotData2D(result);
    tempd.setPlotName(result.relationName());
    tempd.addInstanceNumberAttribute();
    try {
      vmc.addPlot(tempd);
    }
    catch (Exception e) {
      e.printStackTrace();
      JOptionPane.showMessageDialog(
    m_Self, Messages.getInstance().getString("Main_InitGUI_Exception_JOptionPaneShowMessageDialog_Text_Fifth") + e.getMessage());
      return;
    }

    createFrame(
        m_Self, jMenuItemVisualizationROC.getText() + " - " + filename,
        vmc, new BorderLayout(),
        BorderLayout.CENTER, 800, 600, null, true, true);
  }
      });

      // Visualization/TreeVisualizer
      jMenuItemVisualizationTreeVisualizer = new JMenuItem();
      jMenuVisualization.add(jMenuItemVisualizationTreeVisualizer);
      jMenuItemVisualizationTreeVisualizer.setText(Messages.getInstance().getString("Main_InitGUI_JMenuItemVisualizationTreeVisualizer_SetText_Text"));
      jMenuItemVisualizationTreeVisualizer.setMnemonic('T');
      jMenuItemVisualizationTreeVisualizer.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent evt) {
    // choose file
    int retVal = m_FileChooserTreeVisualizer.showOpenDialog(m_Self);
    if (retVal != JFileChooser.APPROVE_OPTION)
      return;

    // build tree
    String filename = m_FileChooserTreeVisualizer.getSelectedFile().getAbsolutePath();
    TreeBuild builder = new TreeBuild();
    Node top = null;
    NodePlace arrange = new PlaceNode2();
    try {
      top = builder.create(new FileReader(filename));
    }
    catch (Exception e) {
      e.printStackTrace();
      JOptionPane.showMessageDialog(
    m_Self, Messages.getInstance().getString("Main_InitGUI_Exception_JOptionPaneShowMessageDialog_Text_Sixth") + filename + Messages.getInstance().getString("Main_InitGUI_Exception_JOptionPaneShowMessageDialog_Text_Seventh") + e.getMessage());
      return;
    }

    // create frame
    createFrame(
        m_Self, jMenuItemVisualizationTreeVisualizer.getText() + " - " + filename,
        new TreeVisualizer(null, top, arrange), new BorderLayout(),
        BorderLayout.CENTER, 800, 600, null, true, true);
  }
      });

      // Visualization/GraphVisualizer
      jMenuItemVisualizationGraphVisualizer = new JMenuItem();
      jMenuVisualization.add(jMenuItemVisualizationGraphVisualizer);
      jMenuItemVisualizationGraphVisualizer.setText(Messages.getInstance().getString("Main_InitGUI_JMenuItemVisualizationGraphVisualizer_SetText_Text"));
      jMenuItemVisualizationGraphVisualizer.setMnemonic('G');
      jMenuItemVisualizationGraphVisualizer.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent evt) {
    // choose file
    int retVal = m_FileChooserGraphVisualizer.showOpenDialog(m_Self);
    if (retVal != JFileChooser.APPROVE_OPTION)
      return;

    // build graph
    String filename = m_FileChooserGraphVisualizer.getSelectedFile().getAbsolutePath();
    GraphVisualizer panel = new GraphVisualizer();
    try{
      if (    filename.toLowerCase().endsWith(".xml")
    || filename.toLowerCase().endsWith(".bif") ) {
        panel.readBIF(new FileInputStream(filename));
      }
      else {
        panel.readDOT(new FileReader(filename));
      }
    }
    catch (Exception e) {
      e.printStackTrace();
      JOptionPane.showMessageDialog(
View Full Code Here

Examples of weka.gui.visualize.VisualizePanel

    //tree_frame.getContentPane().add(m_tView);
    //tree_frame.setSize(800,600);
    //tree_frame.setVisible(true);
   
    m_tView.setHighlight(m_top.m_identity);
    m_iView = new VisualizePanel(this);
    //m_iView.setSize(400, 300);
    m_iView.setInstances(m_top.m_training);
    m_iView.setColourIndex(te.classIndex());
    //vis_frame = new JFrame();
    //vis_frame.getContentPane().add(m_iView);
View Full Code Here

Examples of weka.gui.visualize.VisualizePanel

    else if (e.getActionCommand().equals(Messages.getInstance().getString("TreeVisualizer_ActionPerformed_VisualizeTheNode_Text"))) {
      //send the node data to the visualizer
      if (m_focusNode >= 0) {
  Instances inst;
  if ((inst = m_nodes[m_focusNode].m_node.getInstances()) != null) {
    VisualizePanel pan = new VisualizePanel();
    pan.setInstances(inst);
    JFrame nf = new JFrame();
    nf.setSize(400, 300);
    nf.getContentPane().add(pan);
    nf.setVisible(true);
  }
View Full Code Here

Examples of weka.gui.visualize.VisualizePanel

    setUpFinal();
  }

  protected void setUpFinal() {
    if (m_visPanel == null) {
      m_visPanel = new VisualizePanel();
    }
    add(m_visPanel, BorderLayout.CENTER);
  }
View Full Code Here

Examples of weka.gui.visualize.VisualizePanel

   *
   * @param e a ThresholdDataEvent
   */
  public synchronized void acceptDataSet(ThresholdDataEvent e) {
    if (m_visPanel == null) {
      m_visPanel = new VisualizePanel();
    }
    if (m_masterPlot == null) {
      m_masterPlot = e.getDataSet();
    }
    try {
View Full Code Here

Examples of weka.gui.visualize.VisualizePanel

   *
   * @param e a VisualizableErrorEvent
   */
  public synchronized void acceptDataSet(VisualizableErrorEvent e) {
    if (m_visPanel == null) {
      m_visPanel = new VisualizePanel();
    }
    if (m_masterPlot == null) {
      m_masterPlot = e.getDataSet();
    }
    try {
View Full Code Here

Examples of weka.gui.visualize.VisualizePanel

  int retVal = m_FileChooserPlot.showOpenDialog(m_Self);
  if (retVal != JFileChooser.APPROVE_OPTION)
    return;

  // build plot
  VisualizePanel panel = new VisualizePanel();
  String filenames = "";
  File[] files = m_FileChooserPlot.getSelectedFiles();
  for (int j = 0; j < files.length; j++) {
    String filename = files[j].getAbsolutePath();
    if (j > 0)
      filenames += ", ";
    filenames += filename;
    System.err.println("Loading instances from " + filename);
    try {
      Reader r = new java.io.BufferedReader(new FileReader(filename));
      Instances i = new Instances(r);
      i.setClassIndex(i.numAttributes()-1);
      PlotData2D pd1 = new PlotData2D(i);

      if (j == 0) {
        pd1.setPlotName("Master plot");
        panel.setMasterPlot(pd1);
      } else {
        pd1.setPlotName("Plot "+(j+1));
        pd1.m_useCustomColour = true;
        pd1.m_customColour = (j % 2 == 0) ? Color.red : Color.blue;
        panel.addPlot(pd1);
      }
    }
    catch (Exception ex) {
      ex.printStackTrace();
      JOptionPane.showMessageDialog(
    m_Self, "Error loading file '" + files[j] + "':\n" + ex.getMessage());
      return;
    }
  }

  // create frame
  final JFrame frame = new JFrame("Plot - " + filenames);
  frame.setIconImage(m_Icon);
  frame.getContentPane().setLayout(new BorderLayout());
  frame.getContentPane().add(panel, BorderLayout.CENTER);
  frame.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
      m_Plots.remove(frame);
      frame.dispose();
      checkExit();
    }
  });
  frame.pack();
  frame.setSize(800, 600);
  frame.setVisible(true);
  m_Plots.add(frame);
      }
    });

    m_ROCBut.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
  // choose file
  int retVal = m_FileChooserROC.showOpenDialog(m_Self);
  if (retVal != JFileChooser.APPROVE_OPTION)
    return;

  // create plot
  String filename  = m_FileChooserROC.getSelectedFile().getAbsolutePath();
  Instances result = null;
  try {
    result = new Instances(new BufferedReader(new FileReader(filename)));
  }
  catch (Exception ex) {
    ex.printStackTrace();
    JOptionPane.showMessageDialog(
        m_Self, "Error loading file '" + filename + "':\n" + ex.getMessage());
    return;
  }
  result.setClassIndex(result.numAttributes() - 1);
  ThresholdVisualizePanel vmc = new ThresholdVisualizePanel();
  vmc.setROCString("(Area under ROC = " +
      Utils.doubleToString(ThresholdCurve.getROCArea(result), 4) + ")");
  vmc.setName(result.relationName());
  PlotData2D tempd = new PlotData2D(result);
  tempd.setPlotName(result.relationName());
  tempd.addInstanceNumberAttribute();
  try {
    vmc.addPlot(tempd);
  }
  catch (Exception ex) {
    ex.printStackTrace();
    JOptionPane.showMessageDialog(
        m_Self, "Error adding plot:\n" + ex.getMessage());
    return;
  }

  final JFrame frame = new JFrame("ROC - " + filename);
  frame.setIconImage(m_Icon);
  frame.getContentPane().setLayout(new BorderLayout());
  frame.getContentPane().add(vmc, BorderLayout.CENTER);
  frame.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
      m_ROCs.remove(frame);
      frame.dispose();
      checkExit();
    }
  });
  frame.pack();
  frame.setSize(800, 600);
  frame.setVisible(true);
  m_ROCs.add(frame);
      }
    });

    m_TreeVisualizerBut.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
  // choose file
  int retVal = m_FileChooserTreeVisualizer.showOpenDialog(m_Self);
  if (retVal != JFileChooser.APPROVE_OPTION)
    return;

  // build tree
  String filename = m_FileChooserTreeVisualizer.getSelectedFile().getAbsolutePath();
  TreeBuild builder = new TreeBuild();
  Node top = null;
  NodePlace arrange = new PlaceNode2();
  try {
    top = builder.create(new FileReader(filename));
  }
  catch (Exception ex) {
    ex.printStackTrace();
    JOptionPane.showMessageDialog(
        m_Self, "Error loading file '" + filename + "':\n" + ex.getMessage());
    return;
  }

  // create frame
  final JFrame frame = new JFrame("TreeVisualizer - " + filename);
  frame.setIconImage(m_Icon);
  frame.getContentPane().setLayout(new BorderLayout());
  frame.getContentPane().add(new TreeVisualizer(null, top, arrange), BorderLayout.CENTER);
  frame.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
      m_TreeVisualizers.remove(frame);
      frame.dispose();
      checkExit();
    }
  });
  frame.pack();
  frame.setSize(800, 600);
  frame.setVisible(true);
  m_TreeVisualizers.add(frame);
      }
    });

    m_GraphVisualizerBut.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
  // choose file
  int retVal = m_FileChooserGraphVisualizer.showOpenDialog(m_Self);
  if (retVal != JFileChooser.APPROVE_OPTION)
    return;

  // build graph
  String filename = m_FileChooserGraphVisualizer.getSelectedFile().getAbsolutePath();
  GraphVisualizer panel = new GraphVisualizer();
  try{
    if (    filename.toLowerCase().endsWith(".xml")
        || filename.toLowerCase().endsWith(".bif") ) {
      panel.readBIF(new FileInputStream(filename));
    }
    else {
      panel.readDOT(new FileReader(filename));
    }
  }
  catch (Exception ex) {
    ex.printStackTrace();
    JOptionPane.showMessageDialog(
        m_Self, "Error loading file '" + filename + "':\n" + ex.getMessage());
    return;
  }

  // create frame
  final JFrame frame = new JFrame("GraphVisualizer - " + filename);
  frame.setIconImage(m_Icon);
  frame.getContentPane().setLayout(new BorderLayout());
  frame.getContentPane().add(panel, BorderLayout.CENTER);
  frame.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
      m_GraphVisualizers.remove(frame);
      frame.dispose();
      checkExit();
    }
  });
  frame.pack();
  frame.setSize(800, 600);
  frame.setVisible(true);
  m_GraphVisualizers.add(frame);
      }
    });

    m_BoundaryVisualizerBut.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
  if (m_BoundaryVisualizerFrame == null) {
    m_BoundaryVisualizerBut.setEnabled(false);
    m_BoundaryVisualizerFrame = new JFrame("BoundaryVisualizer");
    m_BoundaryVisualizerFrame.setIconImage(m_Icon);
    m_BoundaryVisualizerFrame.getContentPane().setLayout(new BorderLayout());
    m_BoundaryVisualizerFrame.getContentPane().add(new BoundaryVisualizer(), BorderLayout.CENTER);
    m_BoundaryVisualizerFrame.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent w) {
        m_BoundaryVisualizerFrame.dispose();
        m_BoundaryVisualizerFrame = null;
        m_BoundaryVisualizerBut.setEnabled(true);
        checkExit();
      }
    });
    m_BoundaryVisualizerFrame.pack();
    m_BoundaryVisualizerFrame.setSize(800, 600);
    m_BoundaryVisualizerFrame.setVisible(true);
    // dont' do a System.exit after last window got closed!
    BoundaryVisualizer.setExitIfNoWindowsOpen(false);
  }
      }
    });

    // help
   
    m_HomepageBut.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
  BrowserHelper.openURL("http://www.cs.waikato.ac.nz/~ml/weka/");
      }
    });

    m_WekaDocBut.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
  BrowserHelper.openURL("http://weka.sourceforge.net/wekadoc/");
      }
    });

    m_WekaWikiBut.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
  BrowserHelper.openURL("http://weka.sourceforge.net/wiki/");
      }
    });

    m_SourceforgeBut.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
  BrowserHelper.openURL("http://sourceforge.net/projects/weka/");
      }
    });

    m_SystemInfoBut.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
  if (m_SystemInfoFrame == null) {
    m_SystemInfoBut.setEnabled(false);
    m_SystemInfoFrame = new JFrame("SystemInfo");
    m_SystemInfoFrame.setIconImage(m_Icon);
    m_SystemInfoFrame.getContentPane().setLayout(new BorderLayout());

    // get info
    Hashtable info = new SystemInfo().getSystemInfo();

    // sort names
    Vector names = new Vector();
    Enumeration enm = info.keys();
    while (enm.hasMoreElements())
      names.add(enm.nextElement());
    Collections.sort(names);

    // generate table
    String[][] data = new String[info.size()][2];
    for (int i = 0; i < names.size(); i++) {
      data[i][0] = names.get(i).toString();
      data[i][1] = info.get(data[i][0]).toString();
    }
    String[] titles = new String[]{"Key", "Value"};
    JTable table = new JTable(data, titles);

    m_SystemInfoFrame.getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
    m_SystemInfoFrame.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent w) {
        m_SystemInfoFrame.dispose();
        m_SystemInfoFrame = null;
        m_SystemInfoBut.setEnabled(true);
        checkExit();
      }
    });
    m_SystemInfoFrame.pack();
    m_SystemInfoFrame.setSize(800, 600);
    m_SystemInfoFrame.setVisible(true);
  }
      }
    });

    // other
   
    m_LogWindow.setIconImage(m_Icon);
    m_LogWindowBut.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        m_LogWindow.setVisible(true);
      }
    });

    m_MemoryUsageBut.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
  if (m_MemoryUsageFrame == null) {
    final MemoryUsagePanel panel = new MemoryUsagePanel();
    m_MemoryUsageBut.setEnabled(false);
    m_MemoryUsageFrame = new JFrame("Memory usage");
    m_MemoryUsageFrame.setIconImage(m_Icon);
    m_MemoryUsageFrame.getContentPane().setLayout(new BorderLayout());
    m_MemoryUsageFrame.getContentPane().add(panel, BorderLayout.CENTER);
    m_MemoryUsageFrame.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent w) {
        panel.stopMonitoring();
        m_MemoryUsageFrame.dispose();
        m_MemoryUsageFrame = null;
        m_MemoryUsageBut.setEnabled(true);
        checkExit();
      }
    });
    m_MemoryUsageFrame.pack();
    m_MemoryUsageFrame.setSize(400, 50);
    Point l = panel.getFrameLocation();
    if ((l.x != -1) && (l.y != -1))
      m_MemoryUsageFrame.setLocation(l);
    m_MemoryUsageFrame.setVisible(true);
    Dimension size = m_MemoryUsageFrame.getPreferredSize();
    m_MemoryUsageFrame.setSize(new Dimension((int) size.getWidth(), (int) size.getHeight()));
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.