/*
* Statistics.java
*
*/
package com.imsl.demo.SeriesAnalysis.Lib;
import java.util.ArrayList;
import com.imsl.stat.Summary;
/**
*
* @author bmiller
* @created November 14, 2002
*/
public class Statistics extends javax.swing.JDialog {
private ArrayList data;
private ArrayList params;
/** Creates new form Statistics */
public Statistics(javax.swing.JFrame parent) {
super(parent, false);
initComponents();
java.awt.Dimension parentSize = parent.getSize();
java.awt.Point parentLoc = parent.getLocationOnScreen();
parentLoc.x += parentSize.width/2.5;
parentLoc.y += parentSize.height/2.5;
setLocation(parentLoc.x, parentLoc.y);
}
public void setData(ArrayList names, ArrayList dataList) {
params = names;
data = dataList;
jList1.setVisibleRowCount(params.size());
jList1.setPreferredSize(jList1.getPreferredScrollableViewportSize());
jList1.setListData(params.toArray());
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {//GEN-BEGIN:initComponents
jScrollPane1 = new javax.swing.JScrollPane();
jList1 = new javax.swing.JList();
jPanel2 = new javax.swing.JPanel();
jPanel3 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jPanel4 = new javax.swing.JPanel();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jTextField4 = new javax.swing.JTextField();
jTextField5 = new javax.swing.JTextField();
jTextField6 = new javax.swing.JTextField();
jTextField7 = new javax.swing.JTextField();
jTextField8 = new javax.swing.JTextField();
getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.X_AXIS));
setTitle("Statistics");
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
jScrollPane1.setPreferredSize(new java.awt.Dimension(100, 300));
jList1.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.RAISED));
jList1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
jList1.setFixedCellHeight(18);
jList1.setMaximumSize(new java.awt.Dimension(200, 1000));
jList1.setMinimumSize(new java.awt.Dimension(100, 100));
jList1.setPreferredSize(new java.awt.Dimension(300, 400));
jList1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jList1MouseClicked(evt);
}
});
jScrollPane1.setViewportView(jList1);
getContentPane().add(jScrollPane1);
jPanel2.setLayout(new javax.swing.BoxLayout(jPanel2, javax.swing.BoxLayout.X_AXIS));
jPanel2.setPreferredSize(new java.awt.Dimension(300, 304));
jPanel3.setLayout(new java.awt.GridLayout(8, 1));
jPanel3.setMinimumSize(new java.awt.Dimension(100, 300));
jPanel3.setPreferredSize(new java.awt.Dimension(150, 304));
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel1.setText("Parameter Name: ");
jLabel1.setMaximumSize(new java.awt.Dimension(32767, 32767));
jLabel1.setMinimumSize(new java.awt.Dimension(10, 10));
jLabel1.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel3.add(jLabel1);
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel2.setText(" # of Points: ");
jLabel2.setMaximumSize(new java.awt.Dimension(32767, 32767));
jLabel2.setMinimumSize(new java.awt.Dimension(10, 10));
jLabel2.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel3.add(jLabel2);
jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel3.setText("Minimum Value: ");
jLabel3.setMaximumSize(new java.awt.Dimension(32767, 32767));
jLabel3.setMinimumSize(new java.awt.Dimension(10, 10));
jLabel3.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel3.add(jLabel3);
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel4.setText("Maximum Value: ");
jLabel4.setMaximumSize(new java.awt.Dimension(32767, 32767));
jLabel4.setMinimumSize(new java.awt.Dimension(10, 10));
jLabel4.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel3.add(jLabel4);
jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel5.setText("Median Value: ");
jLabel5.setMaximumSize(new java.awt.Dimension(32767, 32767));
jLabel5.setMinimumSize(new java.awt.Dimension(10, 10));
jLabel5.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel3.add(jLabel5);
jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel6.setText("Std. Deviation: ");
jLabel6.setMaximumSize(new java.awt.Dimension(32767, 32767));
jLabel6.setMinimumSize(new java.awt.Dimension(10, 10));
jLabel6.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel3.add(jLabel6);
jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel7.setText("Average Value: ");
jLabel7.setMaximumSize(new java.awt.Dimension(32767, 32767));
jLabel7.setMinimumSize(new java.awt.Dimension(10, 10));
jLabel7.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel3.add(jLabel7);
jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel8.setText("Sum: ");
jLabel8.setMaximumSize(new java.awt.Dimension(32767, 32767));
jLabel8.setMinimumSize(new java.awt.Dimension(10, 10));
jLabel8.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel3.add(jLabel8);
jPanel2.add(jPanel3);
jPanel4.setLayout(new java.awt.GridLayout(8, 1));
jTextField1.setEditable(false);
jTextField1.setMinimumSize(new java.awt.Dimension(10, 10));
jTextField1.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel4.add(jTextField1);
jTextField2.setEditable(false);
jTextField2.setMinimumSize(new java.awt.Dimension(10, 10));
jTextField2.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel4.add(jTextField2);
jTextField3.setEditable(false);
jTextField3.setMinimumSize(new java.awt.Dimension(10, 10));
jTextField3.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel4.add(jTextField3);
jTextField4.setEditable(false);
jTextField4.setMinimumSize(new java.awt.Dimension(10, 10));
jTextField4.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel4.add(jTextField4);
jTextField5.setColumns(8);
jTextField5.setEditable(false);
jTextField5.setMinimumSize(new java.awt.Dimension(10, 10));
jTextField5.setPreferredSize(new java.awt.Dimension(88, 38));
jPanel4.add(jTextField5);
jTextField6.setEditable(false);
jTextField6.setMinimumSize(new java.awt.Dimension(10, 10));
jTextField6.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel4.add(jTextField6);
jTextField7.setEditable(false);
jTextField7.setMinimumSize(new java.awt.Dimension(10, 10));
jTextField7.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel4.add(jTextField7);
jTextField8.setEditable(false);
jTextField8.setMinimumSize(new java.awt.Dimension(10, 10));
jTextField8.setPreferredSize(new java.awt.Dimension(150, 38));
jPanel4.add(jTextField8);
jPanel2.add(jPanel4);
getContentPane().add(jPanel2);
pack();
}//GEN-END:initComponents
private void jList1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jList1MouseClicked
int index = jList1.locationToIndex(evt.getPoint());
double[] dataArray = (double[]) data.get(index);
jTextField1.setText((String) params.get(index));
jTextField2.setText((new Integer(dataArray.length)).toString());
jTextField3.setText(new Float(Summary.minimum(dataArray)).toString());
jTextField4.setText(new Float(Summary.maximum(dataArray)).toString());
jTextField5.setText(new Float(Summary.median(dataArray)).toString());
jTextField6.setText(new Float(Summary.sampleStandardDeviation(dataArray)).toString());
jTextField7.setText(new Float(average(dataArray)).toString());
jTextField8.setText(new Float(sum(dataArray)).toString());
}//GEN-LAST:event_jList1MouseClicked
private double average(double[] array){
double sum = 0.0;
for (int i = 0; i < array.length; i++) {
sum = sum+array[i];
}
return sum/array.length;
}
private double sum(double[] array){
double sum = 0.0;
for (int i = 0; i < array.length; i++) {
sum = sum+array[i];
}
return sum;
}
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
setVisible(false);
dispose();
}//GEN-LAST:event_exitForm
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JTextField jTextField6;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel4;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField jTextField7;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel3;
private javax.swing.JTextField jTextField3;
private javax.swing.JPanel jPanel3;
private javax.swing.JLabel jLabel2;
private javax.swing.JTextField jTextField8;
private javax.swing.JPanel jPanel2;
private javax.swing.JTextField jTextField5;
private javax.swing.JList jList1;
private javax.swing.JLabel jLabel7;
private javax.swing.JTextField jTextField2;
private javax.swing.JLabel jLabel6;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField4;
private javax.swing.JLabel jLabel5;
// End of variables declaration//GEN-END:variables
}