/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.metrapp.visual;
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.awt.Image;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import org.metrapp.io.Observer;
import org.metrapp.io.Subject;
import org.metrapp.newJavaFilters.JavaFilter;
import org.metrapp.newJavaFilters.JavaFilterByCountry;
import org.metrapp.newJavaFilters.JavaFilterByDate;
import org.metrapp.newJavaFilters.JavaFilterByF;
import org.metrapp.newJavaFilters.JavaFilterByH;
import org.metrapp.newJavaFilters.JavaFilterByImoCode;
import org.metrapp.newJavaFilters.JavaFilterByLatitudeAndLongitude;
import org.metrapp.newJavaFilters.JavaFilterByMagnitude;
import org.metrapp.newJavaFilters.JavaFilterByObserver;
import org.metrapp.newJavaFilters.JavaFilterByObserverSiteName;
import org.metrapp.newJavaFilters.JavaFilterByShower;
import org.metrapp.newJavaFilters.JavaFilterBySolarLongitude;
import org.metrapp.newJavaFilters.JavaFilterByTime;
import org.metrapp.sys.Controller;
/**
*
* @author Ilija
*/
public class NewGUI extends javax.swing.JFrame implements Observer {
private LinkedList<JLabel> labels;
private LinkedList<JTextField> textFields;
private JavaFilter filter;
/**
* Creates new form NewGUI
*/
public NewGUI() {
initComponents();
initLabelsAndTextFieldLists();
setAllLabelsAndTextFieldsInvisible();
setAllMethodPanelsInvisible();
Controller.getInstance().attachObserver(this);
}
/**
* 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.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
buttonGroup1 = new javax.swing.ButtonGroup();
jSeparator1 = new javax.swing.JSeparator();
buttonGroupMethods = new javax.swing.ButtonGroup();
jTabbedPane = new javax.swing.JTabbedPane();
jPanel1 = new javax.swing.JPanel();
jButtonChooseFile = new javax.swing.JButton();
jPanel2 = new javax.swing.JPanel();
jRBShowerCode = new javax.swing.JRadioButton();
jRBDate = new javax.swing.JRadioButton();
jRBObserversIMOCode = new javax.swing.JRadioButton();
jRBObserversFirstAndLastName = new javax.swing.JRadioButton();
jRBLatitudeAndLongitude = new javax.swing.JRadioButton();
jRBObserversSiteName = new javax.swing.JRadioButton();
jRBCountry = new javax.swing.JRadioButton();
jRBLimitingMagnitude = new javax.swing.JRadioButton();
jRBGlobalFilter = new javax.swing.JRadioButton();
jLabelShowerCode = new javax.swing.JLabel();
jTextFieldShowerCode = new javax.swing.JTextField();
jLabelYear = new javax.swing.JLabel();
jTextFieldYear = new javax.swing.JTextField();
jLabelMonth = new javax.swing.JLabel();
jTextFieldMonth = new javax.swing.JTextField();
jLabelDayBegining = new javax.swing.JLabel();
jTextFieldDayBegining = new javax.swing.JTextField();
jLabelDayEnding = new javax.swing.JLabel();
jTextFieldDayEnding = new javax.swing.JTextField();
jLabelIMOCode = new javax.swing.JLabel();
jTextFieldIMOCode = new javax.swing.JTextField();
jLabelFirstName = new javax.swing.JLabel();
jTextFieldFirstName = new javax.swing.JTextField();
jLabelLastName = new javax.swing.JLabel();
jTextFieldLastName = new javax.swing.JTextField();
jLabelLowerLongitude = new javax.swing.JLabel();
jTextFieldLowerLongitude = new javax.swing.JTextField();
jLabelUpperLongitude = new javax.swing.JLabel();
jTextFieldUpperLongitude = new javax.swing.JTextField();
jLabelEW = new javax.swing.JLabel();
jTextFieldEW = new javax.swing.JTextField();
jLabelLowerLatitude = new javax.swing.JLabel();
jTextFieldLowerLatitude = new javax.swing.JTextField();
jLabelUpperLatitude = new javax.swing.JLabel();
jTextFieldUpperLatitude = new javax.swing.JTextField();
jLabelNS = new javax.swing.JLabel();
jTextFieldNS = new javax.swing.JTextField();
jLabelSiteName = new javax.swing.JLabel();
jTextFieldSiteName = new javax.swing.JTextField();
jLabelCountryName = new javax.swing.JLabel();
jTextFieldCountryName = new javax.swing.JTextField();
jLabelLowerMagnitude = new javax.swing.JLabel();
jTextFieldLowerMagnitude = new javax.swing.JTextField();
jLabelUpperMagnitude = new javax.swing.JLabel();
jTextFieldUpperMagnitude = new javax.swing.JTextField();
jRBByF = new javax.swing.JRadioButton();
jLabelFLow = new javax.swing.JLabel();
jTextFieldFLow = new javax.swing.JTextField();
jLabelFUp = new javax.swing.JLabel();
jTextFieldFUp = new javax.swing.JTextField();
jRBByTimePeriod = new javax.swing.JRadioButton();
jLabelBegin = new javax.swing.JLabel();
jTextFieldBegin = new javax.swing.JTextField();
jLabelEnd = new javax.swing.JLabel();
jTextFieldEnd = new javax.swing.JTextField();
jRBBySolarLongitude = new javax.swing.JRadioButton();
jLabelSolLongLow = new javax.swing.JLabel();
jTextFieldSolLongLow = new javax.swing.JTextField();
jLabelSolLongUp = new javax.swing.JLabel();
jTextFieldSolLongUp = new javax.swing.JTextField();
jRBByElevation = new javax.swing.JRadioButton();
jLabelElevLow = new javax.swing.JLabel();
jTextFieldElevLow = new javax.swing.JTextField();
jLabelElevUp = new javax.swing.JLabel();
jTextFieldElevUp = new javax.swing.JTextField();
jLabelElevShw = new javax.swing.JLabel();
jTextFieldElevShw = new javax.swing.JTextField();
jLabelElevRAlpha = new javax.swing.JLabel();
jTextFieldRAlpha = new javax.swing.JTextField();
jLabelElevDelta = new javax.swing.JLabel();
jTextFieldElevDelta = new javax.swing.JTextField();
jLabelElevType = new javax.swing.JLabel();
jTextFieldElevType = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTableResult = new javax.swing.JTable();
jPanelSolarLongitude = new javax.swing.JPanel();
jPanel6 = new javax.swing.JPanel();
jLabelMethodsYear = new javax.swing.JLabel();
jTextFieldMethodsYear = new javax.swing.JTextField();
jLabelMethodsMonth = new javax.swing.JLabel();
jTextFieldMethodsMonth = new javax.swing.JTextField();
jLabelMethodsDay = new javax.swing.JLabel();
jTextFieldMethodsDay = new javax.swing.JTextField();
jLabelMethodsTime = new javax.swing.JLabel();
jTextFieldMethodsTime = new javax.swing.JTextField();
jButton2 = new javax.swing.JButton();
jLabelMethodsSolarLongitudeCalculated = new javax.swing.JLabel();
jTextFieldMethodsSolarLongitudeCalculated = new javax.swing.JTextField();
jPanelZHR = new javax.swing.JPanel();
jLabelZHRYear = new javax.swing.JLabel();
jTextFieldZHRYear = new javax.swing.JTextField();
jLabelZHRMonth = new javax.swing.JLabel();
jTextFieldZHRMonth = new javax.swing.JTextField();
jLabelZHRDayBegin = new javax.swing.JLabel();
jTextFieldZHRDayBegin = new javax.swing.JTextField();
jLabelZHRDayEnd = new javax.swing.JLabel();
jTextFieldZHRDayEnd = new javax.swing.JTextField();
jLabelZHRShower = new javax.swing.JLabel();
jTextFieldZHRShower = new javax.swing.JTextField();
jLabelZHRr = new javax.swing.JLabel();
jTextFieldZHRr = new javax.swing.JTextField();
jLabelZHRRAlpha = new javax.swing.JLabel();
jTextFieldZHRRAlpha = new javax.swing.JTextField();
jLabelZHRk = new javax.swing.JLabel();
jTextFieldZHRk = new javax.swing.JTextField();
jLabelZHRCalculate = new javax.swing.JCheckBox();
jLabelZHRPlot = new javax.swing.JCheckBox();
jBTZHR = new javax.swing.JButton();
jPanelPopulationIndex = new javax.swing.JPanel();
jLabelPIYear = new javax.swing.JLabel();
jTextFieldPIYear = new javax.swing.JTextField();
jLabelPIMonth = new javax.swing.JLabel();
jTextFieldPIMonth = new javax.swing.JTextField();
jLabelPIDayBegin = new javax.swing.JLabel();
jTextFieldPIDayBegin = new javax.swing.JTextField();
jLabelPIDayEnd = new javax.swing.JLabel();
jTextFieldPIDayEnd = new javax.swing.JTextField();
jLabelPIShower = new javax.swing.JLabel();
jTextFieldPIShower = new javax.swing.JTextField();
jLabelPIMagnitude = new javax.swing.JLabel();
jTextFieldPIMagnitude = new javax.swing.JTextField();
jLabelPIRAlpha = new javax.swing.JLabel();
jTextFieldPIrAlpha = new javax.swing.JTextField();
jLabelPIDelta = new javax.swing.JLabel();
jTextFieldPIDelta = new javax.swing.JTextField();
jCheckBoxCalculate = new javax.swing.JCheckBox();
jCheckBoxPlot = new javax.swing.JCheckBox();
jBTPopulationIndex = new javax.swing.JButton();
jPanelMagnitudeDistribution = new javax.swing.JPanel();
jLabel9 = new javax.swing.JLabel();
jTextFieldMagnitudeDistributionYear = new javax.swing.JTextField();
jLabelMagnitudeDistributionMonth = new javax.swing.JLabel();
jTextFieldMagnitudeDistributionMonth = new javax.swing.JTextField();
jLabelMagnitudeDistributionDay = new javax.swing.JLabel();
jTextFieldMagnitudeDistributionDay = new javax.swing.JTextField();
jLabelMagnitudeDistributionShower = new javax.swing.JLabel();
jTextFieldMagnitudeDistributionShower = new javax.swing.JTextField();
jLabelMagnitudeDistributionRAlpha = new javax.swing.JLabel();
jTextFieldMagnitudeDistributionRAlpha = new javax.swing.JTextField();
jLabelMagnitudeDistributionDelta = new javax.swing.JLabel();
jTextFieldMagnitudeDistributionDelta = new javax.swing.JTextField();
jBTMagnitudeDistribution = new javax.swing.JButton();
jPanel5 = new javax.swing.JPanel();
jRadioButtonZHR = new javax.swing.JRadioButton();
jRadioButtonPopulationIndex = new javax.swing.JRadioButton();
jRadioButtonMagnitudeDistribution = new javax.swing.JRadioButton();
jPanel4 = new javax.swing.JPanel();
jPanel7 = new javax.swing.JPanel();
jLabelGraph = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenu2 = new javax.swing.JMenu();
jMenuItemPaths = new javax.swing.JMenuItem();
jMenu4 = new javax.swing.JMenu();
jMenu3 = new javax.swing.JMenu();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.LINE_AXIS));
jButtonChooseFile.setText("Choose file");
jButtonChooseFile.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonChooseFileActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jButtonChooseFile)
.addContainerGap(987, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(22, 22, 22)
.addComponent(jButtonChooseFile)
.addContainerGap(503, Short.MAX_VALUE))
);
jTabbedPane.addTab("File options", jPanel1);
buttonGroup1.add(jRBShowerCode);
jRBShowerCode.setText("by shower code");
jRBShowerCode.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBShowerCodeActionPerformed(evt);
}
});
buttonGroup1.add(jRBDate);
jRBDate.setText("by date");
jRBDate.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBDateActionPerformed(evt);
}
});
buttonGroup1.add(jRBObserversIMOCode);
jRBObserversIMOCode.setText("by observer's IMO code");
jRBObserversIMOCode.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBObserversIMOCodeActionPerformed(evt);
}
});
buttonGroup1.add(jRBObserversFirstAndLastName);
jRBObserversFirstAndLastName.setText("by observer's first and last name");
jRBObserversFirstAndLastName.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBObserversFirstAndLastNameActionPerformed(evt);
}
});
buttonGroup1.add(jRBLatitudeAndLongitude);
jRBLatitudeAndLongitude.setText("by latitude & longitude");
jRBLatitudeAndLongitude.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBLatitudeAndLongitudeActionPerformed(evt);
}
});
buttonGroup1.add(jRBObserversSiteName);
jRBObserversSiteName.setText("by observer's site name");
jRBObserversSiteName.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBObserversSiteNameActionPerformed(evt);
}
});
buttonGroup1.add(jRBCountry);
jRBCountry.setText("by country");
jRBCountry.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBCountryActionPerformed(evt);
}
});
buttonGroup1.add(jRBLimitingMagnitude);
jRBLimitingMagnitude.setText("by limiting magnitude");
jRBLimitingMagnitude.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBLimitingMagnitudeActionPerformed(evt);
}
});
buttonGroup1.add(jRBGlobalFilter);
jRBGlobalFilter.setText("global filter");
jRBGlobalFilter.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBGlobalFilterActionPerformed(evt);
}
});
jLabelShowerCode.setText("Shower code:");
jLabelYear.setText("Year:");
jLabelMonth.setText("Month");
jLabelDayBegining.setText("Day begining:");
jLabelDayEnding.setText("Day ending:");
jLabelIMOCode.setText("IMO code:");
jTextFieldIMOCode.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextFieldIMOCodeActionPerformed(evt);
}
});
jLabelFirstName.setText("First name:");
jLabelLastName.setText("Last name:");
jLabelLowerLongitude.setText("Lower longitude:");
jLabelUpperLongitude.setText("Upper longitude:");
jLabelEW.setText("E/W");
jLabelLowerLatitude.setText("Lower latitude:");
jLabelUpperLatitude.setText("Upper latitude:");
jLabelNS.setText("N/S");
jLabelSiteName.setText("Site name:");
jLabelCountryName.setText("Country name:");
jLabelLowerMagnitude.setText("Lower magnitude:");
jLabelUpperMagnitude.setText("Upper magnitude:");
buttonGroup1.add(jRBByF);
jRBByF.setText("by F");
jRBByF.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBByFActionPerformed(evt);
}
});
jLabelFLow.setText("F low:");
jLabelFUp.setText("F up:");
buttonGroup1.add(jRBByTimePeriod);
jRBByTimePeriod.setText("by time period");
jRBByTimePeriod.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBByTimePeriodActionPerformed(evt);
}
});
jLabelBegin.setText("begin:");
jLabelEnd.setText("end:");
buttonGroup1.add(jRBBySolarLongitude);
jRBBySolarLongitude.setText("by solar longitude");
jRBBySolarLongitude.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBBySolarLongitudeActionPerformed(evt);
}
});
jLabelSolLongLow.setText("low:");
jLabelSolLongUp.setText("up:");
buttonGroup1.add(jRBByElevation);
jRBByElevation.setText("by elevation");
jRBByElevation.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRBByElevationActionPerformed(evt);
}
});
jLabelElevLow.setText("low:");
jLabelElevUp.setText("up:");
jLabelElevShw.setText("Shower code:");
jLabelElevRAlpha.setText("rAlpha:");
jLabelElevDelta.setText("delta:");
jLabelElevType.setText("type:");
jButton1.setText("RUN");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jRBShowerCode)
.addGap(9, 9, 9)
.addComponent(jLabelShowerCode)
.addGap(4, 4, 4)
.addComponent(jTextFieldShowerCode, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jRBObserversIMOCode)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabelIMOCode)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextFieldIMOCode, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jRBObserversFirstAndLastName)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabelFirstName)
.addGap(5, 5, 5)
.addComponent(jTextFieldFirstName, javax.swing.GroupLayout.PREFERRED_SIZE, 111, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabelLastName)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextFieldLastName, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jRBLatitudeAndLongitude)
.addGap(21, 21, 21)
.addComponent(jLabelLowerLongitude)
.addGap(4, 4, 4)
.addComponent(jTextFieldLowerLongitude, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(4, 4, 4)
.addComponent(jLabelUpperLongitude)
.addGap(4, 4, 4)
.addComponent(jTextFieldUpperLongitude, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(4, 4, 4)
.addComponent(jLabelEW)
.addGap(4, 4, 4)
.addComponent(jTextFieldEW, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(4, 4, 4)
.addComponent(jLabelLowerLatitude)
.addGap(4, 4, 4)
.addComponent(jTextFieldLowerLatitude, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(160, 160, 160)
.addComponent(jLabelUpperLatitude)
.addGap(4, 4, 4)
.addComponent(jTextFieldUpperLatitude, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(4, 4, 4)
.addComponent(jLabelNS)
.addGap(18, 18, 18)
.addComponent(jTextFieldNS, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jRBObserversSiteName)
.addGap(18, 18, 18)
.addComponent(jLabelSiteName)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextFieldSiteName, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jRBCountry)
.addGap(11, 11, 11)
.addComponent(jLabelCountryName)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextFieldCountryName, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jRBLimitingMagnitude)
.addGap(30, 30, 30)
.addComponent(jLabelLowerMagnitude)
.addGap(6, 6, 6)
.addComponent(jTextFieldLowerMagnitude, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(4, 4, 4)
.addComponent(jLabelUpperMagnitude)
.addGap(4, 4, 4)
.addComponent(jTextFieldUpperMagnitude, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jRBGlobalFilter))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jRBDate)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabelYear)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextFieldYear, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabelMonth)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextFieldMonth, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabelDayBegining)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextFieldDayBegining, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabelDayEnding)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextFieldDayEnding, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
.addComponent(jRBBySolarLongitude)
.addGap(34, 34, 34)
.addComponent(jLabelSolLongLow))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
.addComponent(jRBByF)
.addGap(36, 36, 36)
.addComponent(jLabelFLow)
.addGap(27, 27, 27)
.addComponent(jTextFieldFLow, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addComponent(jLabelFUp)))
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(31, 31, 31)
.addComponent(jTextFieldFUp, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(128, 128, 128)
.addComponent(jLabelSolLongUp)
.addGap(18, 18, 18)
.addComponent(jTextFieldSolLongUp, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jRBByTimePeriod)
.addGap(29, 29, 29)
.addComponent(jLabelBegin)
.addGap(26, 26, 26)
.addComponent(jTextFieldBegin, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(32, 32, 32)
.addComponent(jLabelEnd)
.addGap(31, 31, 31)
.addComponent(jTextFieldEnd, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(193, 193, 193)
.addComponent(jTextFieldSolLongLow, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jRBByElevation)
.addGap(27, 27, 27)
.addComponent(jLabelElevLow)
.addGap(26, 26, 26)
.addComponent(jTextFieldElevLow, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(26, 26, 26)
.addComponent(jLabelElevUp)
.addGap(34, 34, 34)
.addComponent(jTextFieldElevUp, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(38, 38, 38)
.addComponent(jLabelElevShw)
.addGap(26, 26, 26)
.addComponent(jTextFieldElevShw, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(37, 37, 37)
.addComponent(jLabelElevRAlpha)
.addGap(18, 18, 18)
.addComponent(jTextFieldRAlpha, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(29, 29, 29)
.addComponent(jLabelElevDelta)
.addGap(18, 18, 18)
.addComponent(jTextFieldElevDelta, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(26, 26, 26)
.addComponent(jLabelElevType)
.addGap(18, 18, 18)
.addComponent(jTextFieldElevType, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(453, 453, 453)
.addComponent(jButton1)))
.addContainerGap(131, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jRBShowerCode)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jLabelShowerCode))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(1, 1, 1)
.addComponent(jTextFieldShowerCode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(39, 39, 39)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jRBDate)
.addComponent(jLabelYear)
.addComponent(jTextFieldYear, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelMonth)
.addComponent(jTextFieldMonth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelDayBegining)
.addComponent(jTextFieldDayBegining, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelDayEnding)
.addComponent(jTextFieldDayEnding, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(8, 8, 8)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jRBObserversIMOCode)
.addComponent(jLabelIMOCode)
.addComponent(jTextFieldIMOCode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(8, 8, 8)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jRBObserversFirstAndLastName)
.addComponent(jLabelFirstName)
.addComponent(jTextFieldFirstName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(1, 1, 1)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelLastName)
.addComponent(jTextFieldLastName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGap(8, 8, 8)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jRBLatitudeAndLongitude)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jLabelLowerLongitude))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(1, 1, 1)
.addComponent(jTextFieldLowerLongitude, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jLabelUpperLongitude))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(1, 1, 1)
.addComponent(jTextFieldUpperLongitude, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jLabelEW))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(1, 1, 1)
.addComponent(jTextFieldEW, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jLabelLowerLatitude))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(1, 1, 1)
.addComponent(jTextFieldLowerLatitude, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(4, 4, 4)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextFieldUpperLatitude, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextFieldNS, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(3, 3, 3)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelUpperLatitude)
.addComponent(jLabelNS))))
.addGap(15, 15, 15)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jRBObserversSiteName)
.addComponent(jLabelSiteName)
.addComponent(jTextFieldSiteName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(8, 8, 8)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jRBCountry)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(1, 1, 1)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextFieldCountryName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelCountryName))))
.addGap(8, 8, 8)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jRBLimitingMagnitude)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jLabelLowerMagnitude))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(1, 1, 1)
.addComponent(jTextFieldLowerMagnitude, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jLabelUpperMagnitude))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(1, 1, 1)
.addComponent(jTextFieldUpperMagnitude, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jRBByF)
.addComponent(jLabelFLow)
.addComponent(jTextFieldFLow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelFUp)
.addComponent(jTextFieldFUp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jRBByTimePeriod)
.addComponent(jLabelBegin)
.addComponent(jTextFieldBegin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelEnd)
.addComponent(jTextFieldEnd, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jRBBySolarLongitude)
.addComponent(jLabelSolLongLow)
.addComponent(jTextFieldSolLongLow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelSolLongUp)
.addComponent(jTextFieldSolLongUp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jRBByElevation)
.addComponent(jLabelElevLow)
.addComponent(jTextFieldElevLow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelElevUp)
.addComponent(jTextFieldElevUp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelElevShw)
.addComponent(jTextFieldElevShw, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelElevRAlpha)
.addComponent(jTextFieldRAlpha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelElevDelta)
.addComponent(jTextFieldElevDelta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelElevType)
.addComponent(jTextFieldElevType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jRBGlobalFilter)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 10, Short.MAX_VALUE)
.addComponent(jButton1)
.addContainerGap())
);
jTabbedPane.addTab("Filters", jPanel2);
jPanel3.setLayout(new java.awt.GridBagLayout());
jTableResult.setAutoCreateRowSorter(true);
jTableResult.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{},
{},
{},
{}
},
new String [] {
}
));
jTableResult.setColumnSelectionAllowed(true);
jTableResult.setEnabled(false);
jScrollPane1.setViewportView(jTableResult);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.ipadx = 768;
gridBagConstraints.ipady = 375;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(11, 10, 21, 10);
jPanel3.add(jScrollPane1, gridBagConstraints);
jTabbedPane.addTab("Result", jPanel3);
jPanelSolarLongitude.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("Solar longitude"));
jPanel6.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabelMethodsYear.setText("Year");
jPanel6.add(jLabelMethodsYear, new org.netbeans.lib.awtextra.AbsoluteConstraints(27, 31, -1, -1));
jPanel6.add(jTextFieldMethodsYear, new org.netbeans.lib.awtextra.AbsoluteConstraints(67, 28, 62, -1));
jLabelMethodsMonth.setText("Month");
jPanel6.add(jLabelMethodsMonth, new org.netbeans.lib.awtextra.AbsoluteConstraints(157, 31, -1, -1));
jPanel6.add(jTextFieldMethodsMonth, new org.netbeans.lib.awtextra.AbsoluteConstraints(215, 28, 62, -1));
jLabelMethodsDay.setText("Day");
jPanel6.add(jLabelMethodsDay, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 31, -1, -1));
jPanel6.add(jTextFieldMethodsDay, new org.netbeans.lib.awtextra.AbsoluteConstraints(357, 28, 69, -1));
jLabelMethodsTime.setText("Time");
jPanel6.add(jLabelMethodsTime, new org.netbeans.lib.awtextra.AbsoluteConstraints(456, 31, -1, -1));
jPanel6.add(jTextFieldMethodsTime, new org.netbeans.lib.awtextra.AbsoluteConstraints(506, 28, 68, -1));
jButton2.setText("Calculate");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jPanel6.add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(603, 27, -1, -1));
jLabelMethodsSolarLongitudeCalculated.setText("Solar longitude is:");
jPanel6.add(jLabelMethodsSolarLongitudeCalculated, new org.netbeans.lib.awtextra.AbsoluteConstraints(27, 71, -1, -1));
jTextFieldMethodsSolarLongitudeCalculated.setEnabled(false);
jPanel6.add(jTextFieldMethodsSolarLongitudeCalculated, new org.netbeans.lib.awtextra.AbsoluteConstraints(139, 68, 130, -1));
jPanelSolarLongitude.add(jPanel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(187, 11, 724, 120));
jPanelZHR.setBorder(javax.swing.BorderFactory.createTitledBorder("ZHR"));
jPanelZHR.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabelZHRYear.setText("Year");
jPanelZHR.add(jLabelZHRYear, new org.netbeans.lib.awtextra.AbsoluteConstraints(16, 30, -1, -1));
jPanelZHR.add(jTextFieldZHRYear, new org.netbeans.lib.awtextra.AbsoluteConstraints(56, 27, 66, -1));
jLabelZHRMonth.setText("Month");
jPanelZHR.add(jLabelZHRMonth, new org.netbeans.lib.awtextra.AbsoluteConstraints(149, 30, -1, -1));
jPanelZHR.add(jTextFieldZHRMonth, new org.netbeans.lib.awtextra.AbsoluteConstraints(206, 27, 66, -1));
jLabelZHRDayBegin.setText("Day begin");
jPanelZHR.add(jLabelZHRDayBegin, new org.netbeans.lib.awtextra.AbsoluteConstraints(298, 30, -1, -1));
jPanelZHR.add(jTextFieldZHRDayBegin, new org.netbeans.lib.awtextra.AbsoluteConstraints(374, 27, 58, -1));
jLabelZHRDayEnd.setText("Day end");
jPanelZHR.add(jLabelZHRDayEnd, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 30, -1, -1));
jPanelZHR.add(jTextFieldZHRDayEnd, new org.netbeans.lib.awtextra.AbsoluteConstraints(516, 27, 71, -1));
jLabelZHRShower.setText("Shower");
jPanelZHR.add(jLabelZHRShower, new org.netbeans.lib.awtextra.AbsoluteConstraints(613, 30, -1, -1));
jPanelZHR.add(jTextFieldZHRShower, new org.netbeans.lib.awtextra.AbsoluteConstraints(678, 27, 63, -1));
jLabelZHRr.setText("r");
jPanelZHR.add(jLabelZHRr, new org.netbeans.lib.awtextra.AbsoluteConstraints(759, 30, -1, -1));
jPanelZHR.add(jTextFieldZHRr, new org.netbeans.lib.awtextra.AbsoluteConstraints(767, 27, 62, -1));
jLabelZHRRAlpha.setText("RAlpha");
jPanelZHR.add(jLabelZHRRAlpha, new org.netbeans.lib.awtextra.AbsoluteConstraints(16, 69, -1, -1));
jPanelZHR.add(jTextFieldZHRRAlpha, new org.netbeans.lib.awtextra.AbsoluteConstraints(78, 66, 63, -1));
jLabelZHRk.setText("k");
jPanelZHR.add(jLabelZHRk, new org.netbeans.lib.awtextra.AbsoluteConstraints(159, 69, -1, -1));
jPanelZHR.add(jTextFieldZHRk, new org.netbeans.lib.awtextra.AbsoluteConstraints(182, 66, 59, -1));
jLabelZHRCalculate.setText("Calculate");
jPanelZHR.add(jLabelZHRCalculate, new org.netbeans.lib.awtextra.AbsoluteConstraints(259, 65, -1, -1));
jLabelZHRPlot.setText("Plot");
jPanelZHR.add(jLabelZHRPlot, new org.netbeans.lib.awtextra.AbsoluteConstraints(346, 65, -1, -1));
jBTZHR.setText("RUN!");
jBTZHR.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBTZHRActionPerformed(evt);
}
});
jPanelZHR.add(jBTZHR, new org.netbeans.lib.awtextra.AbsoluteConstraints(730, 70, -1, -1));
jPanelSolarLongitude.add(jPanelZHR, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 140, 885, 108));
jPanelPopulationIndex.setBorder(javax.swing.BorderFactory.createTitledBorder("Population index"));
jPanelPopulationIndex.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabelPIYear.setText("Year");
jPanelPopulationIndex.add(jLabelPIYear, new org.netbeans.lib.awtextra.AbsoluteConstraints(16, 30, -1, -1));
jPanelPopulationIndex.add(jTextFieldPIYear, new org.netbeans.lib.awtextra.AbsoluteConstraints(65, 27, 57, -1));
jLabelPIMonth.setText("Month");
jPanelPopulationIndex.add(jLabelPIMonth, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 30, -1, -1));
jPanelPopulationIndex.add(jTextFieldPIMonth, new org.netbeans.lib.awtextra.AbsoluteConstraints(206, 27, 60, -1));
jLabelPIDayBegin.setText("Day begin");
jPanelPopulationIndex.add(jLabelPIDayBegin, new org.netbeans.lib.awtextra.AbsoluteConstraints(293, 30, -1, -1));
jPanelPopulationIndex.add(jTextFieldPIDayBegin, new org.netbeans.lib.awtextra.AbsoluteConstraints(367, 27, 65, -1));
jLabelPIDayEnd.setText("Day end");
jPanelPopulationIndex.add(jLabelPIDayEnd, new org.netbeans.lib.awtextra.AbsoluteConstraints(461, 30, -1, -1));
jPanelPopulationIndex.add(jTextFieldPIDayEnd, new org.netbeans.lib.awtextra.AbsoluteConstraints(527, 27, 65, -1));
jLabelPIShower.setText("Shower");
jPanelPopulationIndex.add(jLabelPIShower, new org.netbeans.lib.awtextra.AbsoluteConstraints(620, 30, -1, -1));
jPanelPopulationIndex.add(jTextFieldPIShower, new org.netbeans.lib.awtextra.AbsoluteConstraints(682, 27, 64, -1));
jLabelPIMagnitude.setText("Magnitude");
jPanelPopulationIndex.add(jLabelPIMagnitude, new org.netbeans.lib.awtextra.AbsoluteConstraints(16, 69, -1, -1));
jPanelPopulationIndex.add(jTextFieldPIMagnitude, new org.netbeans.lib.awtextra.AbsoluteConstraints(84, 66, 49, -1));
jLabelPIRAlpha.setText("rAlpha");
jPanelPopulationIndex.add(jLabelPIRAlpha, new org.netbeans.lib.awtextra.AbsoluteConstraints(159, 69, -1, -1));
jPanelPopulationIndex.add(jTextFieldPIrAlpha, new org.netbeans.lib.awtextra.AbsoluteConstraints(218, 66, 58, -1));
jLabelPIDelta.setText("Delta");
jPanelPopulationIndex.add(jLabelPIDelta, new org.netbeans.lib.awtextra.AbsoluteConstraints(306, 69, -1, -1));
jPanelPopulationIndex.add(jTextFieldPIDelta, new org.netbeans.lib.awtextra.AbsoluteConstraints(361, 66, 62, -1));
jCheckBoxCalculate.setText("Calculate");
jPanelPopulationIndex.add(jCheckBoxCalculate, new org.netbeans.lib.awtextra.AbsoluteConstraints(441, 65, -1, -1));
jCheckBoxPlot.setText("Plot");
jPanelPopulationIndex.add(jCheckBoxPlot, new org.netbeans.lib.awtextra.AbsoluteConstraints(528, 65, -1, -1));
jBTPopulationIndex.setText("RUN!");
jBTPopulationIndex.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBTPopulationIndexActionPerformed(evt);
}
});
jPanelPopulationIndex.add(jBTPopulationIndex, new org.netbeans.lib.awtextra.AbsoluteConstraints(730, 70, -1, -1));
jPanelSolarLongitude.add(jPanelPopulationIndex, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 250, 885, 104));
jPanelMagnitudeDistribution.setBorder(javax.swing.BorderFactory.createTitledBorder("Magnitude distribution"));
jPanelMagnitudeDistribution.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel9.setText("Year");
jPanelMagnitudeDistribution.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(16, 30, -1, -1));
jPanelMagnitudeDistribution.add(jTextFieldMagnitudeDistributionYear, new org.netbeans.lib.awtextra.AbsoluteConstraints(68, 27, 58, -1));
jLabelMagnitudeDistributionMonth.setText("Month");
jPanelMagnitudeDistribution.add(jLabelMagnitudeDistributionMonth, new org.netbeans.lib.awtextra.AbsoluteConstraints(155, 30, -1, -1));
jPanelMagnitudeDistribution.add(jTextFieldMagnitudeDistributionMonth, new org.netbeans.lib.awtextra.AbsoluteConstraints(214, 27, 63, -1));
jLabelMagnitudeDistributionDay.setText("Day");
jPanelMagnitudeDistribution.add(jLabelMagnitudeDistributionDay, new org.netbeans.lib.awtextra.AbsoluteConstraints(304, 30, -1, -1));
jPanelMagnitudeDistribution.add(jTextFieldMagnitudeDistributionDay, new org.netbeans.lib.awtextra.AbsoluteConstraints(357, 27, 63, -1));
jLabelMagnitudeDistributionShower.setText("Shower");
jPanelMagnitudeDistribution.add(jLabelMagnitudeDistributionShower, new org.netbeans.lib.awtextra.AbsoluteConstraints(449, 30, -1, -1));
jPanelMagnitudeDistribution.add(jTextFieldMagnitudeDistributionShower, new org.netbeans.lib.awtextra.AbsoluteConstraints(513, 27, 55, -1));
jLabelMagnitudeDistributionRAlpha.setText("rAlpha");
jPanelMagnitudeDistribution.add(jLabelMagnitudeDistributionRAlpha, new org.netbeans.lib.awtextra.AbsoluteConstraints(597, 30, -1, -1));
jPanelMagnitudeDistribution.add(jTextFieldMagnitudeDistributionRAlpha, new org.netbeans.lib.awtextra.AbsoluteConstraints(657, 27, 62, -1));
jLabelMagnitudeDistributionDelta.setText("Delta");
jPanelMagnitudeDistribution.add(jLabelMagnitudeDistributionDelta, new org.netbeans.lib.awtextra.AbsoluteConstraints(747, 30, -1, -1));
jPanelMagnitudeDistribution.add(jTextFieldMagnitudeDistributionDelta, new org.netbeans.lib.awtextra.AbsoluteConstraints(799, 27, 27, -1));
jBTMagnitudeDistribution.setText("RUN!");
jBTMagnitudeDistribution.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBTMagnitudeDistributionActionPerformed(evt);
}
});
jPanelMagnitudeDistribution.add(jBTMagnitudeDistribution, new org.netbeans.lib.awtextra.AbsoluteConstraints(730, 60, -1, -1));
jPanelSolarLongitude.add(jPanelMagnitudeDistribution, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 370, 880, 110));
jPanel5.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
buttonGroupMethods.add(jRadioButtonZHR);
jRadioButtonZHR.setText("ZHR");
jRadioButtonZHR.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRadioButtonZHRActionPerformed(evt);
}
});
jPanel5.add(jRadioButtonZHR, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 40, -1, -1));
buttonGroupMethods.add(jRadioButtonPopulationIndex);
jRadioButtonPopulationIndex.setText("Population index");
jRadioButtonPopulationIndex.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRadioButtonPopulationIndexActionPerformed(evt);
}
});
jPanel5.add(jRadioButtonPopulationIndex, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 150, -1, -1));
buttonGroupMethods.add(jRadioButtonMagnitudeDistribution);
jRadioButtonMagnitudeDistribution.setText("Magnitude distribution");
jRadioButtonMagnitudeDistribution.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRadioButtonMagnitudeDistributionActionPerformed(evt);
}
});
jPanel5.add(jRadioButtonMagnitudeDistribution, new org.netbeans.lib.awtextra.AbsoluteConstraints(6, 250, -1, -1));
jPanelSolarLongitude.add(jPanel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 150, 159, 322));
jTabbedPane.addTab("Methods", jPanelSolarLongitude);
jPanel4.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabelGraph.setText(" ");
javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
jPanel7.setLayout(jPanel7Layout);
jPanel7Layout.setHorizontalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelGraph, javax.swing.GroupLayout.DEFAULT_SIZE, 1060, Short.MAX_VALUE)
);
jPanel7Layout.setVerticalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelGraph, javax.swing.GroupLayout.DEFAULT_SIZE, 510, Short.MAX_VALUE)
);
jPanel4.add(jPanel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, 1060, 510));
jTabbedPane.addTab("Graph", jPanel4);
getContentPane().add(jTabbedPane);
jMenu1.setText("File");
jMenuBar1.add(jMenu1);
jMenu2.setText("Edit");
jMenuItemPaths.setText("Paths");
jMenuItemPaths.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemPathsActionPerformed(evt);
}
});
jMenu2.add(jMenuItemPaths);
jMenuBar1.add(jMenu2);
jMenu4.setText("Help & Documentation");
jMenuBar1.add(jMenu4);
jMenu3.setText("About");
jMenuBar1.add(jMenu3);
setJMenuBar(jMenuBar1);
pack();
}// </editor-fold>//GEN-END:initComponents
private void jButtonChooseFileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonChooseFileActionPerformed
if (Controller.getInstance().getrScriptExecutablePath().equals("")) {
JOptionPane.showMessageDialog(this, "First you need to load your paths.", "Error", JOptionPane.ERROR_MESSAGE);
} else {
DataEntry de = new DataEntry();
JDialog dialog = new JDialog(this, false);
dialog.add(de);
dialog.pack();
dialog.setVisible(true);
System.out.println("new dataframe loaded");
}
}//GEN-LAST:event_jButtonChooseFileActionPerformed
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
boolean value = validateFields();
HashMap<String, Object> parameters = new HashMap<>();
if (value == true) {
String rCall = "";
if (Controller.getInstance().getPath() != null) {
String loadingFile = "dataset = read.csv(\"" + Controller.getInstance().getPath() + "\", header=TRUE, sep=\",\")";
// String rCodeFix = "dataset<- data.frame(lapply(dataset2, as.character), stringsAsFactors=FALSE)";
if (jRBShowerCode.isSelected()) {
String text = jTextFieldShowerCode.getText();
rCall = "result = filter(dataset, type = \"rate\", shw = \"" + text + "\")";
parameters.put("shower", text);
filter = new JavaFilterByShower();
} else if (jRBDate.isSelected()) {
String textYear = jTextFieldYear.getText();
String textMonth = jTextFieldMonth.getText();
String textDayBegining = jTextFieldDayBegining.getText();
String textDayEnding = jTextFieldDayEnding.getText();
int year = Integer.parseInt(textYear);
int month = Integer.parseInt(textMonth);
int dayBegining = Integer.parseInt(textDayBegining);
int dayEnding = Integer.parseInt(textDayEnding);
rCall = "result = filter(dataset, year=" + year + ", month=" + month + ", day.beg=" + dayBegining + ", day.end=" + dayEnding + ")";
parameters.put("year", year);
parameters.put("month", month);
parameters.put("dayBegining", dayBegining);
parameters.put("dayEnding", dayEnding);
filter = new JavaFilterByDate();
} else if (jRBObserversIMOCode.isSelected()) {
String text = jTextFieldIMOCode.getText();
rCall = "result = filter(dataset, imocode = \"" + text + "\")";
parameters.put("imocode", text);
filter = new JavaFilterByImoCode();
} else if (jRBObserversFirstAndLastName.isSelected()) {
String firstName = jTextFieldFirstName.getText();
String lastName = jTextFieldLastName.getText();
rCall = "result = filter(dataset, name=\"" + firstName + "\", fname=\"" + lastName + "\")";
parameters.put("firstName", firstName);
parameters.put("lastName", lastName);
filter = new JavaFilterByObserver();
} else if (jRBLatitudeAndLongitude.isSelected()) {
String longLow = jTextFieldLowerLongitude.getText();
String longUp = jTextFieldUpperLongitude.getText();
String ew = jTextFieldEW.getText();
String latLow = jTextFieldLowerLatitude.getText();
String latUp = jTextFieldUpperLatitude.getText();
String ns = jTextFieldNS.getText();
double longLowDouble = Double.parseDouble(longLow);
double longUpDouble = Double.parseDouble(longUp);
double latLowDouble = Double.parseDouble(latLow);
double latUpDouble = Double.parseDouble(latUp);
rCall = "result = filter(dataset, lat.low=" + latLowDouble + ", lat.up=" + latUpDouble + ", ns=\"" + ns + "\", long.low=" + longLowDouble + ", long.up=" + longUpDouble + ", ew=\"" + ew + "\")";
parameters.put("longLow", longLowDouble);
parameters.put("longUp", longUpDouble);
parameters.put("ew", ew);
parameters.put("latLow", latLowDouble);
parameters.put("latUp", latUpDouble);
parameters.put("ns", ns);
filter = new JavaFilterByLatitudeAndLongitude();
} else if (jRBObserversSiteName.isSelected()) {
String text = jTextFieldSiteName.getText();
rCall = "result = filter(dataset, site=\"" + text + "\")";
parameters.put("siteName", text);
filter = new JavaFilterByObserverSiteName();
} else if (jRBCountry.isSelected()) {
String text = jTextFieldCountryName.getText();
rCall = "result = filter(dataset, country=\"" + text + "\")";
parameters.put("country", text);
filter = new JavaFilterByCountry();
} else if (jRBLimitingMagnitude.isSelected()) {
String lowMag = jTextFieldLowerMagnitude.getText();
String upMag = jTextFieldUpperMagnitude.getText();
double lowMagDouble = Double.parseDouble(lowMag);
double upMagDouble = Double.parseDouble(upMag);
rCall = "result = filter(dataset, mag.low=" + lowMagDouble + ", mag.up=" + upMagDouble + ")";
parameters.put("lowMag", lowMagDouble);
parameters.put("upMag", upMagDouble);
filter = new JavaFilterByMagnitude();
} else if (jRBByF.isSelected()) {
String lowF = jTextFieldFLow.getText();
String upF = jTextFieldFUp.getText();
double lowFDouble = Double.parseDouble(lowF);
double upFDouble = Double.parseDouble(upF);
rCall = "result = filter(dataset, F.low=" + lowFDouble + ", F.up=" + upFDouble + ")";
parameters.put("lowFDouble", lowFDouble);
parameters.put("upFDouble", upFDouble);
filter = new JavaFilterByF();
} else if (jRBByTimePeriod.isSelected()) {
String begin = jTextFieldBegin.getText();
String end = jTextFieldEnd.getText();
int beginInt = Integer.parseInt(begin);
int endInt = Integer.parseInt(end);
rCall = "result = filter(dataset, time.low=" + beginInt + ", time.up=" + endInt + ")";
parameters.put("begin", begin);
parameters.put("end", end);
filter = new JavaFilterByTime();
} else if (jRBBySolarLongitude.isSelected()) {
String low = jTextFieldSolLongLow.getText();
String up = jTextFieldSolLongUp.getText();
double lowDouble = Double.parseDouble(low);
double upDouble = Double.parseDouble(up);
rCall = "result = filter(dataset, sol.low=" + lowDouble + ", sol.up=" + upDouble + ")";
parameters.put("low", low);
parameters.put("up", up);
filter = new JavaFilterBySolarLongitude();
} else if (jRBByElevation.isSelected()) {
String low = jTextFieldElevLow.getText();
String up = jTextFieldElevUp.getText();
String shw = jTextFieldElevShw.getText();
// String type = jTextFieldElevType.getText();
int lowInt = Integer.parseInt(low);
int upInt = Integer.parseInt(up);
//test this!
// if (shw != null && type != null && !shw.equalsIgnoreCase("") && !type.equalsIgnoreCase("")) {
// rCall = "result = filter(dataset, Ralpha=NULL, Delta=NULL, shw=\"" + shw + "\", type=\"" + type + "\", h.low=" + lowInt + ", h.up=" + upInt + ")";
// } else {
// rCall = "result = filter(dataset, Ralpha=NULL, Delta=NULL, shw=\"PER\", type=\"rate\", h.low=" + lowInt + ", h.up=" + upInt + ")";
// }
parameters.put("lowInt", lowInt);
parameters.put("upInt", upInt);
parameters.put("shw", shw);
filter = new JavaFilterByH();
} else if (jRBGlobalFilter.isSelected()) {
String type = jTextFieldElevType.getText();
String shw = jTextFieldShowerCode.getText();
String yearText = jTextFieldYear.getText();
String monthBegText = jTextFieldMonth.getText();
String dayBeginText = jTextFieldDayBegining.getText();
String dayEndText = jTextFieldDayEnding.getText();
String imoCode = jTextFieldIMOCode.getText();
String lowLongText = jTextFieldLowerLongitude.getText();
String upLongText = jTextFieldUpperLongitude.getText();
String ewText = jTextFieldEW.getText();
String lowLatText = jTextFieldLowerLatitude.getText();
String upLatText = jTextFieldUpperLatitude.getText();
String nsText = jTextFieldNS.getText();
String firstName = jTextFieldFirstName.getText();
String lastName = jTextFieldLastName.getText();
String siteName = jTextFieldSiteName.getText();
String countryName = jTextFieldCountryName.getText();
String lowerMagnitudeText = jTextFieldLowerMagnitude.getText();
String upperMagnitudeText = jTextFieldUpperMagnitude.getText();
String fLowText = jTextFieldFLow.getText();
String fUpText = jTextFieldFUp.getText();
String beginText = jTextFieldBegin.getText();
String endText = jTextFieldEnd.getText();
String solLongLowText = jTextFieldSolLongLow.getText();
String solLongUpText = jTextFieldSolLongUp.getText();
String rAlphaText = jTextFieldRAlpha.getText();
String deltaText = jTextFieldElevDelta.getText();
String elevLowText = jTextFieldElevLow.getText();
String elevUpText = jTextFieldElevUp.getText();
Exception exceptionNumeric = null;
int year = 0;
int monthBeg = 0;
int monthEnd = 0;
int dayBeg = 0;
int dayEnd = 0;
int lowLong = 0;
int upLong = 0;
int lowLat = 0;
int upLat = 0;
double lowerMagnitude = 0;
double upperMagnitude = 0;
double fLow = 0;
double fUp = 0;
double solLongLow = 0;
double solLongUp = 0;
int rAlpha = 0;
int delta = 0;
int elevLow = 0;
int elevUp = 0;
try {
year = Integer.parseInt(yearText);
monthBeg = Integer.parseInt(monthBegText);
dayBeg = Integer.parseInt(dayBeginText);
dayEnd = Integer.parseInt(dayEndText);
lowLong = Integer.parseInt(lowLongText);
upLong = Integer.parseInt(upLongText);
lowLat = Integer.parseInt(lowLatText);
upLat = Integer.parseInt(upLatText);
lowerMagnitude = Double.parseDouble(lowerMagnitudeText);
upperMagnitude = Double.parseDouble(upperMagnitudeText);
fLow = Double.parseDouble(fLowText);
fUp = Double.parseDouble(fUpText);
solLongLow = Double.parseDouble(solLongLowText);
solLongUp = Double.parseDouble(solLongUpText);
rAlpha = Integer.parseInt(rAlphaText);
delta = Integer.parseInt(deltaText);
elevLow = Integer.parseInt(elevLowText);
elevUp = Integer.parseInt(elevUpText);
} catch (Exception e) {
exceptionNumeric = e;
}
if (exceptionNumeric == null) {
JOptionPane.showMessageDialog(this, "Please insert numerical values where you should. :D", "Error", JOptionPane.ERROR_MESSAGE);
return;
}
if (shw.equals("") || shw.isEmpty()) {
JOptionPane.showMessageDialog(this, "Please select shower.", "Error", JOptionPane.ERROR_MESSAGE);
return;
}
if (type.equals("") || type.isEmpty()) {
JOptionPane.showMessageDialog(this, "Please select shower.", "Error", JOptionPane.ERROR_MESSAGE);
return;
}
rCall = "result<-filter(dataset, type=\"" + type + "\",year=" + (year == 0 ? "NULL" : "" + year) + ", "
+ "month.beg=" + (monthBeg == 0 ? "NULL" : "" + monthBeg) + ", month.end=" + (monthEnd == 0 ? "NULL" : "" + monthEnd) + ",\n"
+ " day.beg=" + (dayBeg == 0 ? "NULL" : "" + dayBeg) + ", day.end=" + (dayEnd == 0 ? "NULL" : "" + dayEnd) + ", shw=\"" + shw + "\", "
+ "imocode=" + (imoCode.equals("") ? "NULL" : "\"" + imoCode + "\"") + ", "
+ "long.low=" + (lowLong == 0 ? 0 : lowLong) + ", long.up=" + (upLong == 0 ? 180 : upLong) + ", ew=" + (ewText.equals("") ? "c(\"E\",\"W\")" : "\"" + ewText + "\"")
+ ", lat.low=" + (lowLat == 0 ? 0 : lowLat) + ", lat.up=" + (upLat == 0 ? 90 : upLat)
+ ", ns=" + (nsText.equals("") ? "c(\"N\",\"S\")" : "\"" + nsText + "\"")
+ ", name=" + (firstName.equals("") ? "NULL" : "\"" + firstName + "\"")
+ ",fname=" + (lastName.equals("") ? "NULL" : "\"" + lastName + "\"")
+ ", site=" + (siteName.equals("") ? "NULL" : "\"" + siteName + "\"")
+ ", "
+ "country=" + (countryName.equals("") ? "NULL" : "\"" + countryName + "\"")
+ ", mag.low=" + (lowerMagnitude == 0 ? "2.0" : "" + lowerMagnitude)
+ ",mag.up=" + (upperMagnitude == 0 ? "7.5" : "" + upperMagnitude)
+ ", F.low=" + (fLow == 0 ? "1.0" : "" + fLow)
+ ",F.up=" + (fUp == 0 ? "2.0" : "" + fUp)
+ ",time.low=" + (beginText.equals("") ? "0" : "" + beginText)
+ ",time.up=" + (endText.equals("") ? "2359" : "" + endText)
+ ",\n"
+ " sol.low=" + (solLongLow == 0 ? "0" : "" + solLongLow)
+ ",sol.up=" + (solLongUp == 0 ? "359.999" : "" + solLongUp)
+ ",Ralpha=" + (rAlpha == 0 ? "NULL" : "" + rAlpha)
+ ",Delta=" + (delta == 0 ? "NULL" : "" + delta)
+ ",h.low=" + (elevLow == 0 ? "10" : "" + elevLow)
+ ",h.up=" + (elevUp == 0 ? "90" : "" + elevUp) + ")";
}
Controller.getInstance().executeRCode(2, loadingFile, rCall);
filter.filterData(parameters);
} else {
JOptionPane.showMessageDialog(this, "Please select file containing your data.", "Error", JOptionPane.ERROR_MESSAGE);
}
}
}//GEN-LAST:event_jButton1ActionPerformed
private void jTextFieldIMOCodeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextFieldIMOCodeActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jTextFieldIMOCodeActionPerformed
private void jRBLimitingMagnitudeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBLimitingMagnitudeActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelLowerMagnitude.setVisible(true);
jTextFieldLowerMagnitude.setVisible(true);
jLabelUpperMagnitude.setVisible(true);
jTextFieldUpperMagnitude.setVisible(true);
}//GEN-LAST:event_jRBLimitingMagnitudeActionPerformed
private void jRBCountryActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBCountryActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelCountryName.setVisible(true);
jTextFieldCountryName.setVisible(true);
}//GEN-LAST:event_jRBCountryActionPerformed
private void jRBObserversSiteNameActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBObserversSiteNameActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelSiteName.setVisible(true);
jTextFieldSiteName.setVisible(true);
}//GEN-LAST:event_jRBObserversSiteNameActionPerformed
private void jRBLatitudeAndLongitudeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBLatitudeAndLongitudeActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelLowerLatitude.setVisible(true);
jLabelUpperLatitude.setVisible(true);
jLabelLowerLongitude.setVisible(true);
jLabelUpperLongitude.setVisible(true);
jLabelNS.setVisible(true);
jLabelEW.setVisible(true);
jTextFieldLowerLatitude.setVisible(true);
jTextFieldUpperLatitude.setVisible(true);
jTextFieldLowerLongitude.setVisible(true);
jTextFieldUpperLongitude.setVisible(true);
jTextFieldNS.setVisible(true);
jTextFieldEW.setVisible(true);
}//GEN-LAST:event_jRBLatitudeAndLongitudeActionPerformed
private void jRBObserversFirstAndLastNameActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBObserversFirstAndLastNameActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelFirstName.setVisible(true);
jTextFieldFirstName.setVisible(true);
jLabelLastName.setVisible(true);
jTextFieldLastName.setVisible(true);
}//GEN-LAST:event_jRBObserversFirstAndLastNameActionPerformed
private void jRBObserversIMOCodeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBObserversIMOCodeActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelIMOCode.setVisible(true);
jTextFieldIMOCode.setVisible(true);
}//GEN-LAST:event_jRBObserversIMOCodeActionPerformed
private void jRBDateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBDateActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelYear.setVisible(true);
jTextFieldYear.setVisible(true);
jLabelMonth.setVisible(true);
jTextFieldMonth.setVisible(true);
jLabelDayBegining.setVisible(true);
jTextFieldDayBegining.setVisible(true);
jLabelDayEnding.setVisible(true);
jTextFieldDayEnding.setVisible(true);
}//GEN-LAST:event_jRBDateActionPerformed
private void jRBShowerCodeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBShowerCodeActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelShowerCode.setVisible(true);
jTextFieldShowerCode.setVisible(true);
}//GEN-LAST:event_jRBShowerCodeActionPerformed
private void jRBByFActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBByFActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelFLow.setVisible(true);
jLabelFUp.setVisible(true);
jTextFieldFLow.setVisible(true);
jTextFieldFUp.setVisible(true);
}//GEN-LAST:event_jRBByFActionPerformed
private void jRBByTimePeriodActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBByTimePeriodActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelBegin.setVisible(true);
jLabelEnd.setVisible(true);
jTextFieldBegin.setVisible(true);
jTextFieldEnd.setVisible(true);
}//GEN-LAST:event_jRBByTimePeriodActionPerformed
private void jRBBySolarLongitudeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBBySolarLongitudeActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelSolLongLow.setVisible(true);
jLabelSolLongUp.setVisible(true);
jTextFieldSolLongLow.setVisible(true);
jTextFieldSolLongUp.setVisible(true);
}//GEN-LAST:event_jRBBySolarLongitudeActionPerformed
private void jRBByElevationActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBByElevationActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelElevLow.setVisible(true);
jLabelElevUp.setVisible(true);
jLabelElevDelta.setVisible(true);
jLabelElevRAlpha.setVisible(true);
jLabelElevShw.setVisible(true);
jLabelElevType.setVisible(true);
jTextFieldElevLow.setVisible(true);
jTextFieldElevUp.setVisible(true);
jTextFieldElevDelta.setVisible(true);
jTextFieldRAlpha.setVisible(true);
jTextFieldElevShw.setVisible(true);
jTextFieldElevType.setVisible(true);
}//GEN-LAST:event_jRBByElevationActionPerformed
private void jRadioButtonZHRActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButtonZHRActionPerformed
setAllMethodPanelsInvisible();
setAllTextFieldsEmpty();
jPanelZHR.setVisible(true);
}//GEN-LAST:event_jRadioButtonZHRActionPerformed
private void jRadioButtonPopulationIndexActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButtonPopulationIndexActionPerformed
setAllMethodPanelsInvisible();
setAllTextFieldsEmpty();
jPanelPopulationIndex.setVisible(true);
}//GEN-LAST:event_jRadioButtonPopulationIndexActionPerformed
private void jRadioButtonMagnitudeDistributionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButtonMagnitudeDistributionActionPerformed
setAllMethodPanelsInvisible();
setAllTextFieldsEmpty();
jPanelMagnitudeDistribution.setVisible(true);
}//GEN-LAST:event_jRadioButtonMagnitudeDistributionActionPerformed
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
if (Controller.getInstance().getrScriptExecutablePath().equals("")) {
JOptionPane.showMessageDialog(this, "First you need to load your paths.", "Error", JOptionPane.ERROR_MESSAGE);
} else {
String textYear = jTextFieldMethodsYear.getText();
String textMonth = jTextFieldMethodsMonth.getText();
String textDay = jTextFieldMethodsDay.getText();
String time = jTextFieldMethodsTime.getText();
Exception exceptionNumeric = null;
int year = 0;
int month = 0;
int day = 0;
try {
year = Integer.parseInt(textYear);
month = Integer.parseInt(textMonth);
day = Integer.parseInt(textDay);
} catch (Exception e) {
exceptionNumeric = e;
}
boolean run = true;
if (exceptionNumeric != null) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: all parameters must be numeric!", "Error", JOptionPane.ERROR_MESSAGE);
run = false;
}
if (year < 1 || month < 1 || day < 1) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: all parameters must be > 0!", "Error", JOptionPane.ERROR_MESSAGE);
run = false;
}
if (month > 12) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: months must be < 13!", "Error", JOptionPane.ERROR_MESSAGE);
run = false;
}
if (day > 31) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: days must be < 32!", "Error", JOptionPane.ERROR_MESSAGE);
run = false;
}
if (year < 1984) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: year must be > 1983!", "Error", JOptionPane.ERROR_MESSAGE);
run = false;
}
boolean isTimeInGoodFormat = time.matches("[1-9]{2}");
if (isTimeInGoodFormat == false) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Time must be entered in format HH:MM!", "Error", JOptionPane.ERROR_MESSAGE);
run = false;
}
if (run == true) {
String rCall = "result = solar.long(year=" + year + ", month=" + month + ", day=" + day + ", time=" + time + ")";
Controller.getInstance().executeRCode(3, "", rCall);
String solar = Controller.getInstance().getSolarLong();
if (solar.equals("")) {
System.out.println("this doesn't work...");
} else {
jTextFieldMethodsSolarLongitudeCalculated.setText(solar);
}
}
}
}//GEN-LAST:event_jButton2ActionPerformed
private void jMenuItemPathsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemPathsActionPerformed
PathsEntry pe = new PathsEntry();
JDialog dialog = new JDialog(this, false);
dialog.add(pe);
dialog.pack();
dialog.setVisible(true);
System.out.println("new dataframe loaded");
}//GEN-LAST:event_jMenuItemPathsActionPerformed
private void jBTZHRActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBTZHRActionPerformed
if (Controller.getInstance().getPath() != null) {
String loadingFile = "dataset = read.csv(\"" + Controller.getInstance().getPath() + "\", header=TRUE, sep=\",\")";
String textYear = jTextFieldZHRYear.getText();
String textMonth = jTextFieldZHRMonth.getText();
String textDayBegining = jTextFieldZHRDayBegin.getText();
String textDayEnding = jTextFieldZHRDayEnd.getText();
String shower = jTextFieldZHRShower.getText();
String rText = jTextFieldZHRr.getText();
String rAlphaText = jTextFieldZHRRAlpha.getText();
String deltaText = jTextFieldPIDelta.getText();
String kText = jTextFieldZHRk.getText();
boolean graph = jLabelZHRPlot.isSelected();
boolean calculate = jLabelZHRCalculate.isSelected();
System.out.println("graph is selected: " + graph);
System.out.println("calculate is selected: " + calculate);
Exception exceptionNumeric = null;
int year = 0;
int month = 0;
int dayBegining = 0;
int dayEnding = 0;
int k = 0;
double r = 0;
double rAlpha = 0;
double delta = 0;
try {
year = Integer.parseInt(textYear);
month = Integer.parseInt(textMonth);
dayBegining = Integer.parseInt(textDayBegining);
dayEnding = Integer.parseInt(textDayEnding);
k = Integer.parseInt(kText);
r = Double.parseDouble(rText);
rAlpha = Double.parseDouble(rAlphaText);
delta = Double.parseDouble(deltaText);
} catch (Exception e) {
exceptionNumeric = e;
}
boolean run = true;
// if (exceptionNumeric != null) {
// JOptionPane.showMessageDialog(this, "Invalid input parameter: all parameters must be numeric!", "Error", JOptionPane.ERROR_MESSAGE);
// run = false;
// }
//
// if (year < 1 || month < 1 || day < 1) {
// JOptionPane.showMessageDialog(this, "Invalid input parameter: all parameters must be > 0!", "Error", JOptionPane.ERROR_MESSAGE);
// run = false;
// }
//
// if (month > 12) {
// JOptionPane.showMessageDialog(this, "Invalid input parameter: months must be < 13!", "Error", JOptionPane.ERROR_MESSAGE);
// run = false;
// }
//
// if (day > 31) {
// JOptionPane.showMessageDialog(this, "Invalid input parameter: days must be < 32!", "Error", JOptionPane.ERROR_MESSAGE);
// run = false;
// }
//
// if (year < 1984) {
// JOptionPane.showMessageDialog(this, "Invalid input parameter: year must be > 1983!", "Error", JOptionPane.ERROR_MESSAGE);
// run = false;
// }
//
// boolean isTimeInGoodFormat = time.matches("[1-9]{2}");
//
// if (isTimeInGoodFormat == false) {
// JOptionPane.showMessageDialog(this, "Invalid input parameter: Time must be entered in format HH:MM!", "Error", JOptionPane.ERROR_MESSAGE);
// run = false;
// }
if (run == true) {
if (calculate == true) {
String rCall = "result = zhr.period(dataset,year = " + year + ",month = " + month + ",day.beg = " + dayBegining + ", day.end =" + dayEnding + ", shw=\"" + shower + "\", r=NULL, Ralpha=NULL, Delta=NULL, k=" + k + ")";
Controller.getInstance().executeRCode(2, loadingFile, rCall);
}
if (graph == true) {
String rCall = "graph.zhr(dataset,year = " + year + ",month ="
+ " " + month + ",day.beg = " + dayBegining + ", day.end ="
+ "" + dayEnding + ", shw=\"" + shower + "\","
+ " r=" + (r == 0 ? "NULL" : "" + r) + ""
+ ", Ralpha=" + (rAlpha == 0 ? "NULL" : "" + rAlpha) + ""
+ ", Delta=" + (delta == 0 ? "NULL" : "" + delta) + ", k=" + k + ")";
Controller.getInstance().executeRCode(4, loadingFile, rCall);
if (Controller.getInstance().getGraph() != null) {
try {
setGraph();
} catch (IOException ex) {
System.out.println("Couldn't add a graph to gui");
Logger.getLogger(NewGUI.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
System.out.println("Graph is null!");
}
}
if (calculate == false && graph == false) {
JOptionPane.showMessageDialog(this, "Nothing is selected.", "Error", JOptionPane.ERROR_MESSAGE);
}
}
} else {
JOptionPane.showMessageDialog(this, "Please select file containing your data.", "Error", JOptionPane.ERROR_MESSAGE);
}
}//GEN-LAST:event_jBTZHRActionPerformed
private void jBTPopulationIndexActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBTPopulationIndexActionPerformed
if (Controller.getInstance().getPath() != null) {
String loadingFile = "dataset = read.csv(\"" + Controller.getInstance().getPath() + "\", header=TRUE, sep=\",\")";
String yearText = jTextFieldPIYear.getText();
String monthText = jTextFieldPIMonth.getText();
String dayBeginText = jTextFieldPIDayBegin.getText();
String dayEndText = jTextFieldPIDayEnd.getText();
String shower = jTextFieldPIShower.getText();
String magnitude = jTextFieldPIMagnitude.getText();
String rAlphaText = jTextFieldPIrAlpha.getText();
String deltaText = jTextFieldPIDelta.getText();
boolean calculate = jCheckBoxCalculate.isSelected();
boolean plot = jCheckBoxPlot.isSelected();
Exception exceptionNumeric = null;
int year = 0;
int month = 0;
int dayBegining = 0;
int dayEnding = 0;
double rAlpha = 0;
double delta = 0;
try {
year = Integer.parseInt(yearText);
month = Integer.parseInt(monthText);
dayBegining = Integer.parseInt(dayBeginText);
dayEnding = Integer.parseInt(dayEndText);
rAlpha = Double.parseDouble(rAlphaText);
delta = Double.parseDouble(deltaText);
} catch (Exception e) {
exceptionNumeric = e;
}
boolean run = true;
// if (exceptionNumeric != null) {
// JOptionPane.showMessageDialog(this, "Invalid input parameter: all parameters must be numeric!", "Error", JOptionPane.ERROR_MESSAGE);
// run = false;
// }
//
// if (year < 1 || month < 1 || day < 1) {
// JOptionPane.showMessageDialog(this, "Invalid input parameter: all parameters must be > 0!", "Error", JOptionPane.ERROR_MESSAGE);
// run = false;
// }
//
// if (month > 12) {
// JOptionPane.showMessageDialog(this, "Invalid input parameter: months must be < 13!", "Error", JOptionPane.ERROR_MESSAGE);
// run = false;
// }
//
// if (day > 31) {
// JOptionPane.showMessageDialog(this, "Invalid input parameter: days must be < 32!", "Error", JOptionPane.ERROR_MESSAGE);
// run = false;
// }
//
// if (year < 1984) {
// JOptionPane.showMessageDialog(this, "Invalid input parameter: year must be > 1983!", "Error", JOptionPane.ERROR_MESSAGE);
// run = false;
// }
//
// boolean isTimeInGoodFormat = time.matches("[1-9]{2}");
//
// if (isTimeInGoodFormat == false) {
// JOptionPane.showMessageDialog(this, "Invalid input parameter: Time must be entered in format HH:MM!", "Error", JOptionPane.ERROR_MESSAGE);
// run = false;
// }
if (run == true) {
if (calculate == true) {
String rCall = "dbs = filter(dataset, year=" + year + ", month.beg=" + month + ", day.beg=" + dayBegining + ", day.end= " + dayEnding + ") \n"
+ "result = popI.period(dbs, year=" + year + ", month=" + month + ", day.beg=" + dayBegining + ", day.end=" + dayEnding + ", shw=\"" + shower + "\","
+ " mag=" + (magnitude.equals("") ? "-6:7" : "\"" + magnitude + "\"") + ""
+ ",Ralpha=" + (rAlpha == 0 ? "NULL" : "" + rAlpha) + ", "
+ "Delta=" + (delta == 0 ? "NULL" : "" + delta) + ")";
Controller.getInstance().executeRCode(2, loadingFile, rCall);
}
if (plot == true) {
String rCall = "dbs = filter(dataset, year=" + year + ", month.beg=" + month + ", day.beg=" + dayBegining + ", day.end= " + dayEnding + ") \n"
+ "result = graph.popI(dbs, year=" + year + ", month=" + month + ", day.beg=" + dayBegining + ", day.end=" + dayEnding + ", shw=\"" + shower + "\","
+ " mag=" + (magnitude.equals("") ? "-6:7" : "\"" + magnitude + "\"") + ""
+ ",Ralpha=" + (rAlpha == 0 ? "NULL" : "" + rAlpha) + ", "
+ "Delta=" + (delta == 0 ? "NULL" : "" + delta) + ")";
Controller.getInstance().executeRCode(4, loadingFile, rCall);
if (Controller.getInstance().getGraph() != null) {
try {
setGraph();
} catch (IOException ex) {
System.out.println("Couldn't add a graph to gui");
Logger.getLogger(NewGUI.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
System.out.println("Graph is null!");
}
}
if (calculate == false && plot == false) {
JOptionPane.showMessageDialog(this, "Nothing is selected.", "Error", JOptionPane.ERROR_MESSAGE);
}
}
} else {
JOptionPane.showMessageDialog(this, "Please select file containing your data.", "Error", JOptionPane.ERROR_MESSAGE);
}
}//GEN-LAST:event_jBTPopulationIndexActionPerformed
private void jBTMagnitudeDistributionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBTMagnitudeDistributionActionPerformed
if (Controller.getInstance().getPath() != null) {
String loadingFile = "dataset = read.csv(\"" + Controller.getInstance().getPath() + "\", header=TRUE, sep=\",\")";
String yearText = jTextFieldMagnitudeDistributionYear.getText();
String monthText = jTextFieldMagnitudeDistributionMonth.getText();
String dayText = jTextFieldMagnitudeDistributionDay.getText();
String shw = jTextFieldMagnitudeDistributionShower.getText();
String rAlphaText = jTextFieldMagnitudeDistributionRAlpha.getText();
String deltaText = jTextFieldMagnitudeDistributionDelta.getText();
Exception exceptionNumeric = null;
int year = 0;
int month = 0;
int day = 0;
double rAlpha = 0;
double delta = 0;
try {
year = Integer.parseInt(yearText);
month = Integer.parseInt(monthText);
day = Integer.parseInt(dayText);
rAlpha = Double.parseDouble(rAlphaText);
delta = Double.parseDouble(deltaText);
} catch (Exception e) {
exceptionNumeric = e;
}
// if (exceptionNumeric != null) {
// JOptionPane.showMessageDialog(this, "Please insert numerical values.", "Error", JOptionPane.ERROR_MESSAGE);
// }
boolean run = true;
if (run == true) {
String rCall = "result<-graph.popI(dataset, year=" + year + ", month=" + month + ""
+ ", day=" + day + ","
+ "shw = \"" + shw + "\""
+ ", Ralpha=" + (rAlpha == 0 ? "NULL" : "" + rAlpha) + ", "
+ "Delta=" + (delta == 0 ? "NULL" : "" + delta) + ")";
Controller.getInstance().executeRCode(4, loadingFile, rCall);
if (Controller.getInstance().getGraph() != null) {
try {
setGraph();
} catch (IOException ex) {
System.out.println("Couldn't add a graph to gui");
Logger.getLogger(NewGUI.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
System.out.println("Graph is null!");
}
}
} else {
JOptionPane.showMessageDialog(this, "Please select file containing your data.", "Error", JOptionPane.ERROR_MESSAGE);
}
}//GEN-LAST:event_jBTMagnitudeDistributionActionPerformed
private void jRBGlobalFilterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRBGlobalFilterActionPerformed
setAllLabelsAndTextFieldsInvisible();
setAllTextFieldsEmpty();
jLabelElevType.setVisible(true);
jTextFieldElevType.setVisible(true);
jLabelYear.setVisible(true);
jTextFieldYear.setVisible(true);
jLabelMonth.setVisible(true);
jTextFieldMonth.setVisible(true);
jLabelDayBegining.setVisible(true);
jTextFieldDayBegining.setVisible(true);
jLabelDayEnding.setVisible(true);
jTextFieldDayEnding.setVisible(true);
jLabelIMOCode.setVisible(true);
jTextFieldIMOCode.setVisible(true);
jLabelLowerLongitude.setVisible(true);
jTextFieldLowerLongitude.setVisible(true);
jLabelUpperLongitude.setVisible(true);
jTextFieldUpperLongitude.setVisible(true);
jLabelEW.setVisible(true);
jTextFieldEW.setVisible(true);
jLabelLowerLatitude.setVisible(true);
jTextFieldLowerLatitude.setVisible(true);
jLabelUpperLatitude.setVisible(true);
jTextFieldUpperLatitude.setVisible(true);
jLabelNS.setVisible(true);
jTextFieldNS.setVisible(true);
jLabelFirstName.setVisible(true);
jTextFieldFirstName.setVisible(true);
jLabelLastName.setVisible(true);
jTextFieldLastName.setVisible(true);
jLabelSiteName.setVisible(true);
jTextFieldSiteName.setVisible(true);
jLabelCountryName.setVisible(true);
jTextFieldCountryName.setVisible(true);
jLabelLowerMagnitude.setVisible(true);
jTextFieldLowerMagnitude.setVisible(true);
jLabelUpperMagnitude.setVisible(true);
jTextFieldUpperMagnitude.setVisible(true);
jLabelFLow.setVisible(true);
jTextFieldFLow.setVisible(true);
jLabelFUp.setVisible(true);
jTextFieldFUp.setVisible(true);
jLabelBegin.setVisible(true);
jTextFieldBegin.setVisible(true);
jLabelEnd.setVisible(true);
jTextFieldEnd.setVisible(true);
jLabelSolLongLow.setVisible(true);
jTextFieldSolLongLow.setVisible(true);
jLabelSolLongUp.setVisible(true);
jTextFieldSolLongUp.setVisible(true);
jLabelElevRAlpha.setVisible(true);
jTextFieldRAlpha.setVisible(true);
jLabelElevDelta.setVisible(true);
jTextFieldElevDelta.setVisible(true);
jLabelElevLow.setVisible(true);
jTextFieldElevLow.setVisible(true);
jLabelElevUp.setVisible(true);
jTextFieldElevUp.setVisible(true);
}//GEN-LAST:event_jRBGlobalFilterActionPerformed
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(NewGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(NewGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(NewGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(NewGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewGUI().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.ButtonGroup buttonGroupMethods;
private javax.swing.JButton jBTMagnitudeDistribution;
private javax.swing.JButton jBTPopulationIndex;
private javax.swing.JButton jBTZHR;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButtonChooseFile;
private javax.swing.JCheckBox jCheckBoxCalculate;
private javax.swing.JCheckBox jCheckBoxPlot;
private javax.swing.JLabel jLabel9;
private javax.swing.JLabel jLabelBegin;
private javax.swing.JLabel jLabelCountryName;
private javax.swing.JLabel jLabelDayBegining;
private javax.swing.JLabel jLabelDayEnding;
private javax.swing.JLabel jLabelEW;
private javax.swing.JLabel jLabelElevDelta;
private javax.swing.JLabel jLabelElevLow;
private javax.swing.JLabel jLabelElevRAlpha;
private javax.swing.JLabel jLabelElevShw;
private javax.swing.JLabel jLabelElevType;
private javax.swing.JLabel jLabelElevUp;
private javax.swing.JLabel jLabelEnd;
private javax.swing.JLabel jLabelFLow;
private javax.swing.JLabel jLabelFUp;
private javax.swing.JLabel jLabelFirstName;
private javax.swing.JLabel jLabelGraph;
private javax.swing.JLabel jLabelIMOCode;
private javax.swing.JLabel jLabelLastName;
private javax.swing.JLabel jLabelLowerLatitude;
private javax.swing.JLabel jLabelLowerLongitude;
private javax.swing.JLabel jLabelLowerMagnitude;
private javax.swing.JLabel jLabelMagnitudeDistributionDay;
private javax.swing.JLabel jLabelMagnitudeDistributionDelta;
private javax.swing.JLabel jLabelMagnitudeDistributionMonth;
private javax.swing.JLabel jLabelMagnitudeDistributionRAlpha;
private javax.swing.JLabel jLabelMagnitudeDistributionShower;
private javax.swing.JLabel jLabelMethodsDay;
private javax.swing.JLabel jLabelMethodsMonth;
private javax.swing.JLabel jLabelMethodsSolarLongitudeCalculated;
private javax.swing.JLabel jLabelMethodsTime;
private javax.swing.JLabel jLabelMethodsYear;
private javax.swing.JLabel jLabelMonth;
private javax.swing.JLabel jLabelNS;
private javax.swing.JLabel jLabelPIDayBegin;
private javax.swing.JLabel jLabelPIDayEnd;
private javax.swing.JLabel jLabelPIDelta;
private javax.swing.JLabel jLabelPIMagnitude;
private javax.swing.JLabel jLabelPIMonth;
private javax.swing.JLabel jLabelPIRAlpha;
private javax.swing.JLabel jLabelPIShower;
private javax.swing.JLabel jLabelPIYear;
private javax.swing.JLabel jLabelShowerCode;
private javax.swing.JLabel jLabelSiteName;
private javax.swing.JLabel jLabelSolLongLow;
private javax.swing.JLabel jLabelSolLongUp;
private javax.swing.JLabel jLabelUpperLatitude;
private javax.swing.JLabel jLabelUpperLongitude;
private javax.swing.JLabel jLabelUpperMagnitude;
private javax.swing.JLabel jLabelYear;
private javax.swing.JCheckBox jLabelZHRCalculate;
private javax.swing.JLabel jLabelZHRDayBegin;
private javax.swing.JLabel jLabelZHRDayEnd;
private javax.swing.JLabel jLabelZHRMonth;
private javax.swing.JCheckBox jLabelZHRPlot;
private javax.swing.JLabel jLabelZHRRAlpha;
private javax.swing.JLabel jLabelZHRShower;
private javax.swing.JLabel jLabelZHRYear;
private javax.swing.JLabel jLabelZHRk;
private javax.swing.JLabel jLabelZHRr;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenu jMenu3;
private javax.swing.JMenu jMenu4;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItemPaths;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanelMagnitudeDistribution;
private javax.swing.JPanel jPanelPopulationIndex;
private javax.swing.JPanel jPanelSolarLongitude;
private javax.swing.JPanel jPanelZHR;
private javax.swing.JRadioButton jRBByElevation;
private javax.swing.JRadioButton jRBByF;
private javax.swing.JRadioButton jRBBySolarLongitude;
private javax.swing.JRadioButton jRBByTimePeriod;
private javax.swing.JRadioButton jRBCountry;
private javax.swing.JRadioButton jRBDate;
private javax.swing.JRadioButton jRBGlobalFilter;
private javax.swing.JRadioButton jRBLatitudeAndLongitude;
private javax.swing.JRadioButton jRBLimitingMagnitude;
private javax.swing.JRadioButton jRBObserversFirstAndLastName;
private javax.swing.JRadioButton jRBObserversIMOCode;
private javax.swing.JRadioButton jRBObserversSiteName;
private javax.swing.JRadioButton jRBShowerCode;
private javax.swing.JRadioButton jRadioButtonMagnitudeDistribution;
private javax.swing.JRadioButton jRadioButtonPopulationIndex;
private javax.swing.JRadioButton jRadioButtonZHR;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JTabbedPane jTabbedPane;
private javax.swing.JTable jTableResult;
private javax.swing.JTextField jTextFieldBegin;
private javax.swing.JTextField jTextFieldCountryName;
private javax.swing.JTextField jTextFieldDayBegining;
private javax.swing.JTextField jTextFieldDayEnding;
private javax.swing.JTextField jTextFieldEW;
private javax.swing.JTextField jTextFieldElevDelta;
private javax.swing.JTextField jTextFieldElevLow;
private javax.swing.JTextField jTextFieldElevShw;
private javax.swing.JTextField jTextFieldElevType;
private javax.swing.JTextField jTextFieldElevUp;
private javax.swing.JTextField jTextFieldEnd;
private javax.swing.JTextField jTextFieldFLow;
private javax.swing.JTextField jTextFieldFUp;
private javax.swing.JTextField jTextFieldFirstName;
private javax.swing.JTextField jTextFieldIMOCode;
private javax.swing.JTextField jTextFieldLastName;
private javax.swing.JTextField jTextFieldLowerLatitude;
private javax.swing.JTextField jTextFieldLowerLongitude;
private javax.swing.JTextField jTextFieldLowerMagnitude;
private javax.swing.JTextField jTextFieldMagnitudeDistributionDay;
private javax.swing.JTextField jTextFieldMagnitudeDistributionDelta;
private javax.swing.JTextField jTextFieldMagnitudeDistributionMonth;
private javax.swing.JTextField jTextFieldMagnitudeDistributionRAlpha;
private javax.swing.JTextField jTextFieldMagnitudeDistributionShower;
private javax.swing.JTextField jTextFieldMagnitudeDistributionYear;
private javax.swing.JTextField jTextFieldMethodsDay;
private javax.swing.JTextField jTextFieldMethodsMonth;
private javax.swing.JTextField jTextFieldMethodsSolarLongitudeCalculated;
private javax.swing.JTextField jTextFieldMethodsTime;
private javax.swing.JTextField jTextFieldMethodsYear;
private javax.swing.JTextField jTextFieldMonth;
private javax.swing.JTextField jTextFieldNS;
private javax.swing.JTextField jTextFieldPIDayBegin;
private javax.swing.JTextField jTextFieldPIDayEnd;
private javax.swing.JTextField jTextFieldPIDelta;
private javax.swing.JTextField jTextFieldPIMagnitude;
private javax.swing.JTextField jTextFieldPIMonth;
private javax.swing.JTextField jTextFieldPIShower;
private javax.swing.JTextField jTextFieldPIYear;
private javax.swing.JTextField jTextFieldPIrAlpha;
private javax.swing.JTextField jTextFieldRAlpha;
private javax.swing.JTextField jTextFieldShowerCode;
private javax.swing.JTextField jTextFieldSiteName;
private javax.swing.JTextField jTextFieldSolLongLow;
private javax.swing.JTextField jTextFieldSolLongUp;
private javax.swing.JTextField jTextFieldUpperLatitude;
private javax.swing.JTextField jTextFieldUpperLongitude;
private javax.swing.JTextField jTextFieldUpperMagnitude;
private javax.swing.JTextField jTextFieldYear;
private javax.swing.JTextField jTextFieldZHRDayBegin;
private javax.swing.JTextField jTextFieldZHRDayEnd;
private javax.swing.JTextField jTextFieldZHRMonth;
private javax.swing.JTextField jTextFieldZHRRAlpha;
private javax.swing.JTextField jTextFieldZHRShower;
private javax.swing.JTextField jTextFieldZHRYear;
private javax.swing.JTextField jTextFieldZHRk;
private javax.swing.JTextField jTextFieldZHRr;
// End of variables declaration//GEN-END:variables
private boolean validateFields() {
if (jRBShowerCode.isSelected()) {
String text = jTextFieldShowerCode.getText();
if (text.length() > 3) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Shower code", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBDate.isSelected()) {
String textYear = jTextFieldYear.getText();
String textMonth = jTextFieldMonth.getText();
String textDayBegining = jTextFieldDayBegining.getText();
String textDayEnding = jTextFieldDayEnding.getText();
Exception exceptionNumeric = null;
int year = 0;
int month = 0;
int dayBegining = 0;
int dayEnding = 0;
try {
year = Integer.parseInt(textYear);
month = Integer.parseInt(textMonth);
dayBegining = Integer.parseInt(textDayBegining);
dayEnding = Integer.parseInt(textDayEnding);
} catch (Exception e) {
exceptionNumeric = e;
}
if (exceptionNumeric != null) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: all parameters must be numeric!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (year < 1 || month < 1 || dayBegining < 1 || dayEnding < 1) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: all parameters must be > 0!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (month > 12) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: months must be < 13!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (dayBegining > 31 || dayEnding > 31) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: days must be < 32!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
Calendar now = Calendar.getInstance();
int currentYear = now.get(Calendar.YEAR);
if (year < 1984 || year > currentYear) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: year must be > 1983 and before " + currentYear, "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBObserversIMOCode.isSelected()) {
String text = jTextFieldIMOCode.getText();
if (text.length() != 5) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: IMO code consists of 5 letters!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
boolean areAllLetters = text.matches("[a-zA-Z]+");
if (areAllLetters == false) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: IMO code consists of only letters!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBObserversFirstAndLastName.isSelected()) {
String firstName = jTextFieldFirstName.getText();
String lastName = jTextFieldLastName.getText();
boolean areAllLettersFirstName = firstName.matches("[a-zA-Z]+");
boolean areAllLettersLastName = lastName.matches("[a-zA-Z]+");
if (areAllLettersFirstName == false || areAllLettersLastName == false) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: First name and last name must consist only of letters!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBLatitudeAndLongitude.isSelected()) {
String longLow = jTextFieldLowerLongitude.getText();
String longUp = jTextFieldUpperLongitude.getText();
String ew = jTextFieldEW.getText();
String latLow = jTextFieldLowerLatitude.getText();
String latUp = jTextFieldUpperLatitude.getText();
String ns = jTextFieldNS.getText();
double longLowDouble = 0;
double longUpDouble = 0;
double latLowDouble = 0;
double latUpDouble = 0;
Exception exceptionNumeric = null;
try {
longLowDouble = Double.parseDouble(longLow);
longUpDouble = Double.parseDouble(longUp);
latLowDouble = Double.parseDouble(latLow);
latUpDouble = Double.parseDouble(latUp);
} catch (Exception e) {
exceptionNumeric = e;
}
if (exceptionNumeric != null) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Latitude and longitude must be numeric!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (longLowDouble < 0 || latLowDouble < 0) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Latitude and longitude cannot be <0!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (latUpDouble > 90) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Latitude cannot be >90!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (longUpDouble > 180) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Longitude cannot be >180!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (longLowDouble > longUpDouble) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Lower longitude cannot be greater than upper longitude!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (latLowDouble > latUpDouble) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Lower latitude cannot be greater than upper latitude!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
boolean compare = ns.equals("N") || ns.equals("S");
if (compare == false) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: You can enter only \"N\" or \"S\"!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
boolean compare2 = ew.equals("E") || ew.equals("W");
if (compare2 == false) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: You can enter only \"E\" or \"W\"!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBObserversSiteName.isSelected()) {
String text = jTextFieldSiteName.getText();
boolean areAllLettersSiteName = text.matches("[a-zA-Z]+");
if (areAllLettersSiteName == false) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Site name must consist only of letters!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBCountry.isSelected()) {
String text = jTextFieldCountryName.getText();
boolean areAllLettersSiteName = text.matches("[a-zA-Z]+");
if (areAllLettersSiteName == false) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Country name must consist only of letters!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBLimitingMagnitude.isSelected()) {
String lowMag = jTextFieldLowerMagnitude.getText();
String upMag = jTextFieldUpperMagnitude.getText();
double lowMagDouble = 0;
double upMagDouble = 0;
Exception exceptionNumeric = null;
try {
lowMagDouble = Double.parseDouble(lowMag);
upMagDouble = Double.parseDouble(upMag);
} catch (Exception e) {
exceptionNumeric = e;
}
if (exceptionNumeric != null) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Magnitude must be numeric!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (lowMagDouble < 2.0 || upMagDouble > 7.5) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Magnitude must be within 2.0 and 7.5!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (lowMagDouble > upMagDouble) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Lower magnitude cannot be greater than upper magnitude!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBByF.isSelected()) {
String lowF = jTextFieldFLow.getText();
String upF = jTextFieldFUp.getText();
double lowFDouble = 0;
double upFDouble = 0;
Exception exceptionNumeric = null;
try {
lowFDouble = Double.parseDouble(lowF);
upFDouble = Double.parseDouble(upF);
} catch (Exception e) {
exceptionNumeric = e;
}
if (exceptionNumeric != null) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: values must be numeric!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (lowFDouble < 1.0 || upFDouble > 2.0) {
System.out.println("test1: " + lowFDouble);
System.out.println("test2: " + upFDouble);
JOptionPane.showMessageDialog(this, "Invalid input parameter: Magnitude must be within 1.0 and 2.0!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (lowFDouble > upFDouble) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Lower magnitude cannot be greater than upper magnitude!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBByTimePeriod.isSelected()) {
String begin = jTextFieldBegin.getText();
String end = jTextFieldEnd.getText();
int beginInt = 0;
int endInt = 0;
Exception exceptionNumeric = null;
try {
beginInt = Integer.parseInt(begin);
endInt = Integer.parseInt(end);
} catch (Exception e) {
exceptionNumeric = e;
}
if (exceptionNumeric != null) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: values must be integer!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (begin.length() != 4 || end.length() != 4) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: enter time in format HHMM!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (beginInt < 0 || endInt > 2359) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Time must be between 0000 and 2359!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (beginInt > endInt) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: beggining time must be before ending time!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBBySolarLongitude.isSelected()) {
String low = jTextFieldSolLongLow.getText();
String up = jTextFieldSolLongUp.getText();
double lowDouble = 0;
double upDouble = 0;
Exception exceptionNumeric = null;
try {
lowDouble = Double.parseDouble(low);
upDouble = Double.parseDouble(up);
} catch (Exception e) {
exceptionNumeric = e;
}
if (exceptionNumeric != null) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: values must be numerical!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (lowDouble < 0 || upDouble > 359.999) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Time must be between 0 and 360!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (lowDouble > upDouble) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: up must be bigger than low!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBByElevation.isSelected()) {
String low = jTextFieldElevLow.getText();
String up = jTextFieldElevUp.getText();
String shw = jTextFieldElevShw.getText();
String type = jTextFieldElevType.getText();
int lowInt = 0;
int upInt = 0;
Exception exceptionNumeric = null;
try {
lowInt = Integer.parseInt(low);
upInt = Integer.parseInt(up);
} catch (Exception e) {
exceptionNumeric = e;
}
if (exceptionNumeric != null) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: values must be integer!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (lowInt < 10 || upInt > 90) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Time must be between 10 and 90!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (lowInt > upInt) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: up must be bigger than low!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (shw.length() != 3) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Shower code has 3 letters!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (type.equalsIgnoreCase("rate") || type.equalsIgnoreCase("magn")) {
} else {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Type must be rate or magn!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBByElevation.isSelected()) {
String low = jTextFieldElevLow.getText();
String up = jTextFieldElevUp.getText();
String shw = jTextFieldElevShw.getText();
String type = jTextFieldElevType.getText();
int lowInt = 0;
int upInt = 0;
Exception exceptionNumeric = null;
try {
lowInt = Integer.parseInt(low);
upInt = Integer.parseInt(up);
} catch (Exception e) {
exceptionNumeric = e;
}
if (exceptionNumeric != null) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: values must be integer!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (lowInt < 10 || upInt > 90) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Time must be between 10 and 90!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (lowInt > upInt) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: up must be bigger than low!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (shw.length() != 3) {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Shower code has 3 letters!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
if (type.equalsIgnoreCase("rate") || type.equalsIgnoreCase("magn")) {
} else {
JOptionPane.showMessageDialog(this, "Invalid input parameter: Type must be rate or magn!", "Error", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
} else if (jRBGlobalFilter.isSelected()) {
//uraditi validaciju
return true;
} else {
return false;
}
}
private void initLabelsAndTextFieldLists() {
labels = new LinkedList<>();
textFields = new LinkedList<>();
Component[] components = jTabbedPane.getComponents();
for (Component c : components) {
JPanel panel = (JPanel) c;
for (Component comp : panel.getComponents()) {
if (comp instanceof JLabel) {
JLabel label = (JLabel) comp;
labels.add(label);
}
if (comp instanceof JTextField) {
JTextField jtf = (JTextField) comp;
textFields.add(jtf);
}
}
}
}
public void setAllLabelsAndTextFieldsInvisible() {
for (JLabel jl : labels) {
jl.setVisible(false);
}
for (JTextField jtf : textFields) {
jtf.setVisible(false);
}
}
public void setAllTextFieldsEmpty() {
for (JTextField jtf : textFields) {
jtf.setText("");
}
}
public void update(Subject subject) {
TableModel model = new DefaultTableModel(Controller.getInstance().getDataFrame().getMatrix(), Controller.getInstance().getDataFrame().getVariableNames());
jTableResult.setModel(model);
JOptionPane.showMessageDialog(null, "Your data is loaded.");
}
public void setAllMethodPanelsInvisible() {
jPanelMagnitudeDistribution.setVisible(false);
jPanelPopulationIndex.setVisible(false);
// jPanelSolarLongitude.setVisible(false);
jPanelZHR.setVisible(false);
}
public void setGraph() throws IOException {
Image image = null;
try {
// Read from a file
File sourceimage = new File(Controller.getInstance().getGraph().getPath());
System.out.println("PUTANJA: " + Controller.getInstance().getGraph().getPath());
// image = ImageIO.read(sourceimage);
//
// Read from an input stream
InputStream is = new BufferedInputStream(
new FileInputStream(sourceimage));
image = ImageIO.read(is);
//
// // Read from a URL
// URL url = new URL("http://java-tips.org/source.gif");
// image = ImageIO.read(url);
} catch (IOException e) {
}
jLabelGraph.setIcon(new ImageIcon(image));
// Use a label to display the image
// JFrame frame = new JFrame();
// JLabel label = new JLabel(new ImageIcon(image));
// frame.getContentPane().add(label, BorderLayout.CENTER);
// frame.pack();
// frame.setVisible(true);
//
//
//
//
//
// jLabelGraph.setIcon(new ImageIcon(ImageIO.read(Controller.getInstance().getGraph())));
}
}