Пример #1
0
 private void setLandscapeCommon(final List<Pair<String, Float>> landscape) {
   this.landscape = landscape;
   if (!stkLineChartZoom.empty()) {
     pnlLineChart.setViewport(stkLineChartZoom.get(0));
     stkLineChartZoom.clear();
   }
   if (landscape == null) {
     landscapeMin = landscapeMax = null;
   } else {
     float min = Float.POSITIVE_INFINITY;
     float max = Float.NEGATIVE_INFINITY;
     for (final Pair<String, Float> p : landscape) {
       final float fitness = p.getSecond();
       if (Float.isInfinite(fitness)) {
         continue;
       }
       if (fitness < min) {
         min = fitness;
       }
       if (fitness > max) {
         max = fitness;
       }
     }
     landscapeMin = new Float(min - max * 0.05);
     landscapeMax = new Float(max * 1.05);
   }
   if (!stkHistogramZoom.empty()) {
     pnlHistogram.setViewport(stkHistogramZoom.get(0));
     stkHistogramZoom.clear();
   }
   if (useMinMax && (landscapeMin != null) && (landscapeMax != null)) {
     pnlHistogram.setBins(
         binLandscape(((Number) spnBins.getValue()).intValue()),
         landscapeMin.floatValue(),
         landscapeMax.floatValue());
   } else {
     pnlHistogram.setBins(binLandscape(((Number) spnBins.getValue()).intValue()));
   }
   // cboDisplayType.setSelectedIndex(0);
   if (landscape == null) {
     txaRaw.setText("");
   } else {
     final StringBuffer b = new StringBuffer();
     if (rawTextComparator != null) {
       Collections.sort(landscape, rawTextComparator);
     }
     b.append(getXAxisLabel());
     b.append('\t');
     b.append(getYAxisLabel());
     b.append('\n');
     for (final Pair<String, Float> p : landscape) {
       b.append(p.getFirst());
       b.append('\t');
       b.append(Float.toString(p.getSecond()));
       b.append('\n');
     }
     txaRaw.setText(b.toString());
     txaRaw.select(0, 0);
   }
 }
Пример #2
0
 public void stateChanged(final ChangeEvent e) {
   if ((landscapeMin != null) && (landscapeMax != null)) {
     pnlHistogram.setBins(
         binLandscape(((Number) spnBins.getValue()).intValue()),
         landscapeMin.floatValue(),
         landscapeMax.floatValue());
   } else {
     pnlHistogram.setBins(binLandscape(((Number) spnBins.getValue()).intValue()));
   }
 }
Пример #3
0
 @SuppressWarnings("unchecked")
 private void checkEnabled(final boolean enabled) {
   cboDisplayType.setEnabled(enabled);
   cmdSave.setEnabled(enabled);
   lblBins.setEnabled(enabled);
   spnBins.setEnabled(enabled);
   pnlLineChart.setSelectionEnabled(enabled);
   pnlHistogram.setSelectionEnabled(enabled);
   final Pair<String, Component> p = (Pair<String, Component>) cboDisplayType.getSelectedItem();
   if (enabled) {
     boolean zoomed = false;
     if (p.getSecond() == scpLineChart) {
       zoomed = !stkLineChartZoom.empty();
     } else if (p.getSecond() == scpHistogram) {
       zoomed = !stkHistogramZoom.empty();
     }
     cmdUnzoom.setEnabled(zoomed);
     cmdResetView.setEnabled(zoomed);
   } else {
     cmdUnzoom.setEnabled(false);
     cmdResetView.setEnabled(false);
   }
 }
Пример #4
0
 public void setYAxisLabel(final String label) {
   pnlLineChart.setYAxisLabel(label);
   pnlHistogram.setXAxisLabel(label);
 }
Пример #5
0
 private void jbInit() {
   setLayout(bolThis);
   pnlDisplay.setLayout(crdDisplay);
   cmdSave.setText("Save");
   cmdSave.addActionListener(this);
   cmdUnzoom.addActionListener(this);
   cmdResetView.addActionListener(this);
   cmdUnzoom.setText("Unzoom");
   cmdResetView.setText("Reset View");
   pnlDisplayControls.setLayout(crdDisplayControls);
   pnlControls.setLayout(gblControls);
   pnlHistogramControls.setLayout(gblHistogramControls);
   lblBins.setText("Bins:");
   spnBins.setMinimumSize(new Dimension(60, 20));
   spnBins.setPreferredSize(new Dimension(60, 20));
   spnBins.addChangeListener(this);
   spnBins.setModel(new SpinnerNumberModel(new Integer(10), new Integer(1), null, new Integer(1)));
   pnlZoomControls.setLayout(crdZoomControls);
   pnlZoomable.setLayout(gblZoomable);
   scpLineChart.setBorder(BorderFactory.createLoweredBevelBorder());
   scpHistogram.setBorder(BorderFactory.createLoweredBevelBorder());
   scpRaw.setBorder(BorderFactory.createLoweredBevelBorder());
   cboDisplayType.addItemListener(this);
   txaRaw.setEditable(false);
   pnlHistogram.setYAxisLabel("Count");
   cmdMaximize.setText("Maximize");
   cmdMaximize.addActionListener(new LandscapePanel_cmdMaximize_actionAdapter(this));
   this.add(pnlControls, java.awt.BorderLayout.SOUTH);
   this.add(pnlDisplay, java.awt.BorderLayout.CENTER);
   pnlDisplay.add(scpLineChart, "Line Chart");
   pnlDisplay.add(scpHistogram, "Histogram");
   pnlDisplay.add(scpRaw, "Raw Text");
   scpLineChart.getViewport().add(pnlLineChart);
   scpHistogram.getViewport().add(pnlHistogram);
   scpRaw.getViewport().add(txaRaw);
   pnlLineChart.addSelectionListener(this);
   pnlHistogram.addSelectionListener(this);
   cboDisplayType.addItem(new DisplayPair<String, Component>("Line Chart", scpLineChart));
   cboDisplayType.addItem(new DisplayPair<String, Component>("Histogram", scpHistogram));
   cboDisplayType.addItem(new DisplayPair<String, Component>("Raw Text", scpRaw));
   pnlZoomControls.add(pnlZoomable, "Zoomable");
   pnlZoomControls.add(pnlUnzoomable, "Unzoomable");
   pnlZoomable.add(
       cmdUnzoom,
       new GridBagConstraints(
           0,
           0,
           1,
           1,
           0.0,
           0.0,
           GridBagConstraints.CENTER,
           GridBagConstraints.NONE,
           new Insets(5, 5, 5, 0),
           0,
           0));
   pnlZoomable.add(
       cmdResetView,
       new GridBagConstraints(
           1,
           0,
           1,
           1,
           0.0,
           0.0,
           GridBagConstraints.CENTER,
           GridBagConstraints.NONE,
           new Insets(5, 5, 5, 0),
           0,
           0));
   pnlHistogramControls.add(
       lblBins,
       new GridBagConstraints(
           1,
           0,
           1,
           1,
           0.0,
           0.0,
           GridBagConstraints.CENTER,
           GridBagConstraints.NONE,
           new Insets(5, 5, 5, 0),
           0,
           0));
   pnlHistogramControls.add(
       spnBins,
       new GridBagConstraints(
           2,
           0,
           1,
           1,
           1.0,
           0.0,
           GridBagConstraints.WEST,
           GridBagConstraints.NONE,
           new Insets(5, 5, 5, 5),
           0,
           0));
   pnlDisplayControls.add(pnlLineChartControls, "Line Chart");
   pnlDisplayControls.add(pnlHistogramControls, "Histogram");
   pnlDisplayControls.add(pnlRawControls, "Raw Text");
   pnlControls.add(
       pnlZoomControls,
       new GridBagConstraints(
           1,
           0,
           1,
           2,
           0.0,
           0.0,
           GridBagConstraints.CENTER,
           GridBagConstraints.NONE,
           new Insets(0, 0, 0, 0),
           0,
           0));
   pnlControls.add(
       cboDisplayType,
       new GridBagConstraints(
           0,
           0,
           1,
           2,
           0.0,
           0.0,
           GridBagConstraints.CENTER,
           GridBagConstraints.HORIZONTAL,
           new Insets(5, 5, 5, 0),
           0,
           0));
   pnlControls.add(
       pnlDisplayControls,
       new GridBagConstraints(
           3,
           0,
           1,
           2,
           1.0,
           0.0,
           GridBagConstraints.CENTER,
           GridBagConstraints.BOTH,
           new Insets(0, 0, 0, 0),
           0,
           0));
   pnlControls.add(
       cmdMaximize,
       new GridBagConstraints(
           4,
           0,
           1,
           1,
           0.0,
           0.0,
           GridBagConstraints.CENTER,
           GridBagConstraints.NONE,
           new Insets(5, 5, 5, 0),
           0,
           0));
   pnlControls.add(
       cmdSave,
       new GridBagConstraints(
           5,
           0,
           1,
           1,
           0.0,
           0.0,
           GridBagConstraints.CENTER,
           GridBagConstraints.NONE,
           new Insets(5, 5, 5, 5),
           0,
           0));
 }