import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.io.*; public class GUI extends JFrame implements ActionListener { /* This class obviously needs access to the variables and methods of CelestialBody, SolarSystemBody, and MinorPlanet. I considered two alternatives. First, I could add these three classes to a package (orbitalMechanics), make the three classes public, put them into a folder (orbitalMechanics), and import them into this GUI class. While this is the most elegant solution, as well as the simplest, it would not be cross-platform compatible. Even if Unix has "folders", running this software on a Unix machine would require creating a "subdirectory" (orbitalMechanics), and placing the three classes into it, while retaining this GUI class at the higher parent directory level. This violates the spirit of this endeavor, which is to maintain cross-platform compatibility, so that I don't have to write this damn stuff again. Thus, I will retain the current directory structure (everything at the same level), and individually declare the referenced instance variables and methods as public. */ /* Define the pane as an instance variable. This may permit me to empty it of its contents and move from an old screen to a new screen, reusing pane in the process. I think this is necessary because pane has been instantiated by the constructor. */ JPanel pane; /* Define all buttons, choice lists, text boxes etc. as instance variables, so they are available to all methods. */ JButton title_b1 = new JButton("Begin"); JButton level_one_menu_b1 = new JButton("Create"); JButton level_one_menu_b2 = new JButton("Edit"); JButton level_one_menu_b3 = new JButton("Delete"); JTextField level_one_menu_tf1 = new JTextField(20); JComboBox level_one_menu_cl1 = new JComboBox(); JComboBox level_one_menu_cl2 = new JComboBox(); JButton add_mp_b1 = new JButton("Edit"); JButton add_mp_b2 = new JButton("Return"); JButton add_mp_b3 = new JButton("Exp Comp"); JButton delete_mp_b1 = new JButton("Return"); JButton edit_mp_b1 = new JButton("Add"); JButton edit_mp_b2 = new JButton("Rev/Del"); JButton edit_mp_b3 = new JButton("Compute"); JButton edit_mp_b4 = new JButton("Display"); JButton edit_mp_b5 = new JButton("Specify"); JButton edit_mp_b6 = new JButton("Generate"); JButton edit_mp_b7 = new JButton("Check"); JButton edit_mp_b8 = new JButton("Change"); JButton edit_mp_b9 = new JButton("Specify"); JButton edit_mp_b10 = new JButton("Return"); JButton edit_mp_b11 = new JButton("Designate"); JButton edit_mp_b12 = new JButton("Compare"); JButton edit_mp_b13 = new JButton("Import"); JButton add_obs_b1 = new JButton("Optical"); JButton add_obs_b2 = new JButton("Radar"); JButton add_obs_b3 = new JButton("MPC"); JButton add_obs_b4 = new JButton("NEODyS"); JTextField add_optical_obs_1_tf1 = new JTextField(5); JTextField add_optical_obs_1_tf2 = new JTextField(11); JTextField add_optical_obs_1_tf3 = new JTextField(3); JTextField add_optical_obs_1_tf4 = new JTextField(6); JTextField add_optical_obs_1_tf5 = new JTextField(6); JTextField add_optical_obs_1_tf6 = new JTextField(11); JTextField add_optical_obs_1_tf7 = new JTextField(3); JTextField add_optical_obs_1_tf8 = new JTextField(6); JTextField add_optical_obs_1_tf9 = new JTextField(6); JTextField add_optical_obs_1_tf10 = new JTextField(6); JTextField add_optical_obs_1_tf11 = new JTextField(6); JTextField add_optical_obs_1_tf12 = new JTextField(5); JTextField add_optical_obs_1_tf13 = new JTextField(3); JTextField add_optical_obs_1_tf14 = new JTextField(9); JButton add_optical_obs_1_b1 = new JButton("Submit"); JButton add_optical_obs_1_b2 = new JButton("Cancel"); CheckboxGroup add_optical_obs_1_catalog = new CheckboxGroup(); Checkbox add_optical_obs_1_FK5 = new Checkbox("ICRF or FK5",true,add_optical_obs_1_catalog); Checkbox add_optical_obs_1_FK4 = new Checkbox("FK4",false,add_optical_obs_1_catalog); CheckboxGroup add_optical_obs_1_epoch = new CheckboxGroup(); Checkbox add_optical_obs_1_j2000 = new Checkbox("J2000",true,add_optical_obs_1_epoch); Checkbox add_optical_obs_1_b1950 = new Checkbox("B1950",false,add_optical_obs_1_epoch); Checkbox add_optical_obs_1_j = new Checkbox("J",false,add_optical_obs_1_epoch); Checkbox add_optical_obs_1_b = new Checkbox("B",false,add_optical_obs_1_epoch); JTextField add_optical_obs_2_tf1 = new JTextField(11); JTextField add_optical_obs_2_tf2 = new JTextField(3); JTextField add_optical_obs_2_tf3 = new JTextField(6); JTextField add_optical_obs_2_tf4 = new JTextField(11); JTextField add_optical_obs_2_tf5 = new JTextField(3); JTextField add_optical_obs_2_tf6 = new JTextField(6); JTextField add_optical_obs_2_tf7 = new JTextField(7); JTextField add_optical_obs_2_tf8 = new JTextField(5); CheckboxGroup add_optical_obs_2_observatory = new CheckboxGroup(); Checkbox add_optical_obs_2_obscode = new Checkbox("Enter the MPC observatory code of the observing site",true,add_optical_obs_2_observatory); Checkbox add_optical_obs_2_latlong = new Checkbox("Enter the latitude, longitude, and altitude of the observing site",false,add_optical_obs_2_observatory); Checkbox add_optical_obs_2_EOPs = new Checkbox("Use Default Earth Orientation Parameters",false); JButton add_optical_obs_2_b1 = new JButton("Submit"); JButton add_optical_obs_2_b2 = new JButton("Cancel"); JTextField add_optical_obs_3_tf1 = new JTextField(8); JTextField add_optical_obs_3_tf2 = new JTextField(8); JTextField add_optical_obs_3_tf3 = new JTextField(9); JTextField add_optical_obs_3_tf4 = new JTextField(5); JTextField add_optical_obs_3_tf5 = new JTextField(4); JTextField add_optical_obs_3_tf6 = new JTextField(8); JTextField add_optical_obs_3_tf7 = new JTextField(8); JTextField add_optical_obs_3_tf8 = new JTextField(9); JTextField add_optical_obs_3_tf9 = new JTextField(5); JTextField add_optical_obs_3_tf10 = new JTextField(4); JTextField add_optical_obs_3_tf11 = new JTextField(8); JTextField add_optical_obs_3_tf12 = new JTextField(8); JTextField add_optical_obs_3_tf13 = new JTextField(9); JTextField add_optical_obs_3_tf14 = new JTextField(5); JTextField add_optical_obs_3_tf15 = new JTextField(4); JTextField add_optical_obs_3_tf16 = new JTextField(8); JTextField add_optical_obs_3_tf17 = new JTextField(8); JTextField add_optical_obs_3_tf18 = new JTextField(9); JTextField add_optical_obs_3_tf19 = new JTextField(5); JTextField add_optical_obs_3_tf20 = new JTextField(4); JTextField add_optical_obs_3_tf21 = new JTextField(3); JTextField add_optical_obs_3_tf22 = new JTextField(11); JButton add_optical_obs_3_b1 = new JButton("Submit"); JButton add_optical_obs_3_b2 = new JButton("Cancel"); JTextField add_radar_obs_1_tf1 = new JTextField(16); JTextField add_radar_obs_1_tf2 = new JTextField(16); JTextField add_radar_obs_1_tf3 = new JTextField(16); JTextField add_radar_obs_1_tf4 = new JTextField(16); JTextField add_radar_obs_1_tf5 = new JTextField(16); JTextField add_radar_obs_1_tf6 = new JTextField(6); JTextField add_radar_obs_1_tf7 = new JTextField(5); JTextField add_radar_obs_1_tf8 = new JTextField(3); JTextField add_radar_obs_1_tf9 = new JTextField(3); JTextField add_radar_obs_1_tf10 = new JTextField(3); JTextField add_radar_obs_1_tf11 = new JTextField(3); JTextField add_radar_obs_1_tf12 = new JTextField(6); JButton add_radar_obs_1_b1 = new JButton("Submit"); JButton add_radar_obs_1_b2 = new JButton("Cancel"); CheckboxGroup add_radar_obs_1_obstype = new CheckboxGroup(); Checkbox add_radar_obs_1_Delay = new Checkbox("Delay",true,add_radar_obs_1_obstype); Checkbox add_radar_obs_1_Doppler = new Checkbox("Doppler",false,add_radar_obs_1_obstype); JTextField add_radar_obs_2_tf1 = new JTextField(11); JTextField add_radar_obs_2_tf2 = new JTextField(3); JTextField add_radar_obs_2_tf3 = new JTextField(6); JTextField add_radar_obs_2_tf4 = new JTextField(11); JTextField add_radar_obs_2_tf5 = new JTextField(3); JTextField add_radar_obs_2_tf6 = new JTextField(6); JTextField add_radar_obs_2_tf7 = new JTextField(7); JTextField add_radar_obs_2_tf8 = new JTextField(11); JTextField add_radar_obs_2_tf9 = new JTextField(3); JTextField add_radar_obs_2_tf10 = new JTextField(6); JTextField add_radar_obs_2_tf11 = new JTextField(11); JTextField add_radar_obs_2_tf12 = new JTextField(3); JTextField add_radar_obs_2_tf13 = new JTextField(6); JTextField add_radar_obs_2_tf14 = new JTextField(7); JButton add_radar_obs_2_b1 = new JButton("Submit"); JButton add_radar_obs_2_b2 = new JButton("Cancel"); CheckboxGroup add_radar_obs_2_xmtr = new CheckboxGroup(); Checkbox add_radar_obs_2_xmtr_Arecibo = new Checkbox(" Arecibo",true,add_radar_obs_2_xmtr); Checkbox add_radar_obs_2_xmtr_DSS13 = new Checkbox(" DSS13",false,add_radar_obs_2_xmtr); Checkbox add_radar_obs_2_xmtr_DSS14 = new Checkbox(" DSS14",false,add_radar_obs_2_xmtr); Checkbox add_radar_obs_2_xmtr_other = new Checkbox(" other - enter coords below",false,add_radar_obs_2_xmtr); CheckboxGroup add_radar_obs_2_rcvr = new CheckboxGroup(); Checkbox add_radar_obs_2_rcvr_Arecibo = new Checkbox(" Arecibo",true,add_radar_obs_2_rcvr); Checkbox add_radar_obs_2_rcvr_DSS13 = new Checkbox(" DSS13",false,add_radar_obs_2_rcvr); Checkbox add_radar_obs_2_rcvr_DSS14 = new Checkbox(" DSS14",false,add_radar_obs_2_rcvr); Checkbox add_radar_obs_2_rcvr_other = new Checkbox(" other - enter coords below",false,add_radar_obs_2_rcvr); JTextField add_radar_obs_3_tf1 = new JTextField(8); JTextField add_radar_obs_3_tf2 = new JTextField(8); JTextField add_radar_obs_3_tf3 = new JTextField(9); JTextField add_radar_obs_3_tf4 = new JTextField(5); JTextField add_radar_obs_3_tf5 = new JTextField(4); JTextField add_radar_obs_3_tf6 = new JTextField(8); JTextField add_radar_obs_3_tf7 = new JTextField(8); JTextField add_radar_obs_3_tf8 = new JTextField(9); JTextField add_radar_obs_3_tf9 = new JTextField(5); JTextField add_radar_obs_3_tf10 = new JTextField(4); JTextField add_radar_obs_3_tf11 = new JTextField(8); JTextField add_radar_obs_3_tf12 = new JTextField(8); JTextField add_radar_obs_3_tf13 = new JTextField(9); JTextField add_radar_obs_3_tf14 = new JTextField(5); JTextField add_radar_obs_3_tf15 = new JTextField(4); JTextField add_radar_obs_3_tf16 = new JTextField(8); JTextField add_radar_obs_3_tf17 = new JTextField(8); JTextField add_radar_obs_3_tf18 = new JTextField(9); JTextField add_radar_obs_3_tf19 = new JTextField(5); JTextField add_radar_obs_3_tf20 = new JTextField(4); JTextField add_radar_obs_3_tf21 = new JTextField(3); JTextField add_radar_obs_3_tf22 = new JTextField(11); JButton add_radar_obs_3_b1 = new JButton("Submit"); JButton add_radar_obs_3_b2 = new JButton("Cancel"); JTextField input_state_vector_tf0 = new JTextField(23); JTextField input_state_vector_tf1 = new JTextField(23); JTextField input_state_vector_tf2 = new JTextField(23); JTextField input_state_vector_tf3 = new JTextField(23); JTextField input_state_vector_tf4 = new JTextField(23); JTextField input_state_vector_tf5 = new JTextField(23); JTextField input_state_vector_tf6 = new JTextField(23); JTextField input_state_vector_tf7 = new JTextField(23); JTextField input_state_vector_tf8 = new JTextField(23); JTextField input_state_vector_tf9 = new JTextField(23); JTextField input_state_vector_tf10 = new JTextField(23); JTextField input_state_vector_tf11 = new JTextField(23); JTextField input_state_vector_tf12 = new JTextField(23); JTextField input_state_vector_tf13 = new JTextField(23); JTextField input_state_vector_tf14 = new JTextField(23); JTextField input_state_vector_tf15 = new JTextField(23); JTextField input_state_vector_tf16 = new JTextField(23); JTextField input_state_vector_tf17 = new JTextField(23); JButton input_state_vector_b1 = new JButton("Submit"); JButton input_state_vector_b2 = new JButton("Cancel"); JTextField input_orbital_elements_tf0 = new JTextField(23); JTextField input_orbital_elements_tf1 = new JTextField(23); JTextField input_orbital_elements_tf2 = new JTextField(23); JTextField input_orbital_elements_tf3 = new JTextField(23); JTextField input_orbital_elements_tf4 = new JTextField(23); JTextField input_orbital_elements_tf5 = new JTextField(23); JTextField input_orbital_elements_tf6 = new JTextField(23); JTextField input_orbital_elements_tf7 = new JTextField(23); JTextField input_orbital_elements_tf8 = new JTextField(23); JTextField input_orbital_elements_tf9 = new JTextField(23); JTextField input_orbital_elements_tf10 = new JTextField(23); JTextField input_orbital_elements_tf11 = new JTextField(23); JTextField input_orbital_elements_tf12 = new JTextField(23); JTextField input_orbital_elements_tf13 = new JTextField(23); JTextField input_orbital_elements_tf14 = new JTextField(23); JTextField input_orbital_elements_tf15 = new JTextField(23); JTextField input_orbital_elements_tf16 = new JTextField(23); JTextField input_orbital_elements_tf17 = new JTextField(23); JButton input_orbital_elements_b1 = new JButton("Submit"); JButton input_orbital_elements_b2 = new JButton("Cancel"); JButton input_orbit_b1 = new JButton("Select"); JButton input_orbit_b2 = new JButton("Select"); JButton input_orbit_b3 = new JButton("Cancel"); JButton display_orbit_b1 = new JButton("Select"); JButton display_orbit_b2 = new JButton("Select"); JButton display_orbit_b3 = new JButton("Cancel"); JTextField display_orbital_elements_tf0 = new JTextField(23); JTextField display_orbital_elements_tf1 = new JTextField(23); JTextField display_orbital_elements_tf2 = new JTextField(23); JTextField display_orbital_elements_tf3 = new JTextField(23); JTextField display_orbital_elements_tf4 = new JTextField(23); JTextField display_orbital_elements_tf5 = new JTextField(23); JTextField display_orbital_elements_tf6 = new JTextField(23); JTextField display_orbital_elements_tf7 = new JTextField(23); JTextField display_orbital_elements_tf8 = new JTextField(23); JTextField display_orbital_elements_tf9 = new JTextField(23); JTextField display_orbital_elements_tf10 = new JTextField(23); JTextField display_orbital_elements_tf11 = new JTextField(23); JTextField display_orbital_elements_tf12 = new JTextField(23); JTextField display_orbital_elements_tf13 = new JTextField(23); JTextField display_orbital_elements_tf14 = new JTextField(23); JTextField display_orbital_elements_tf15 = new JTextField(23); JTextField display_orbital_elements_tf16 = new JTextField(23); JTextField display_orbital_elements_tf17 = new JTextField(23); JButton display_orbital_elements_b1 = new JButton("Done"); JButton display_orbital_elements_b2 = new JButton("Display State Vector"); JTextField display_state_vector_tf0 = new JTextField(23); JTextField display_state_vector_tf1 = new JTextField(23); JTextField display_state_vector_tf2 = new JTextField(23); JTextField display_state_vector_tf3 = new JTextField(23); JTextField display_state_vector_tf4 = new JTextField(23); JTextField display_state_vector_tf5 = new JTextField(23); JTextField display_state_vector_tf6 = new JTextField(23); JTextField display_state_vector_tf7 = new JTextField(23); JTextField display_state_vector_tf8 = new JTextField(23); JTextField display_state_vector_tf9 = new JTextField(23); JTextField display_state_vector_tf10 = new JTextField(23); JTextField display_state_vector_tf11 = new JTextField(23); JTextField display_state_vector_tf12 = new JTextField(23); JTextField display_state_vector_tf13 = new JTextField(23); JTextField display_state_vector_tf14 = new JTextField(23); JTextField display_state_vector_tf15 = new JTextField(23); JTextField display_state_vector_tf16 = new JTextField(23); JTextField display_state_vector_tf17 = new JTextField(23); JButton display_state_vector_b1 = new JButton("Done"); JButton display_state_vector_b2 = new JButton("Display Orbital Elements"); CheckboxGroup set_perturbers_choices = new CheckboxGroup(); Checkbox set_perturbers_one = new Checkbox(" All nine planets and Earth's Moon",false,set_perturbers_choices); Checkbox set_perturbers_two = new Checkbox(" Planets, Moon, plus Ceres, Pallas, and Vesta",true,set_perturbers_choices); Checkbox set_perturbers_three = new Checkbox(" Planets, Moon, and 300 asteroids",false,set_perturbers_choices); JButton set_perturbers_b1 = new JButton("Set"); JTextField set_radius_tf1 = new JTextField(10); JTextField set_radius_tf2 = new JTextField(6); JTextField set_radius_tf3 = new JTextField(6); JButton set_radius_b1 = new JButton("Set"); JButton set_radius_b2 = new JButton("Recalculate"); Checkbox delete_observation_cb1 = new Checkbox("",false); Checkbox delete_observation_cb2 = new Checkbox("",false); Checkbox delete_observation_cb3 = new Checkbox("",false); Checkbox delete_observation_cb4 = new Checkbox("",false); Checkbox delete_observation_cb5 = new Checkbox("",false); JButton delete_observation_b1 = new JButton("Delete Checked"); JButton delete_observation_b2 = new JButton("Next 5"); JButton delete_observation_b3 = new JButton("Done"); JButton delete_observation_b4 = new JButton("Prev 5"); JTextField check_for_collision_tf1 = new JTextField(23); JTextField check_for_collision_tf2 = new JTextField(23); JTextField check_for_collision_tf3 = new JTextField(23); JTextField check_for_collision_tf4 = new JTextField(23); JTextField check_for_collision_tf5 = new JTextField(23); JTextField check_for_collision_tf6 = new JTextField(23); JTextField check_for_collision_tf7 = new JTextField(23); JButton check_for_collision_b1 = new JButton("Next Event"); JButton check_for_collision_b2 = new JButton("Done"); JTextField display_ephemeris_1_tf1 = new JTextField(4); JTextField display_ephemeris_1_tf2 = new JTextField(4); JTextField display_ephemeris_1_tf3 = new JTextField(3); JTextField display_ephemeris_1_tf4 = new JTextField(6); JTextField display_ephemeris_1_tf5 = new JTextField(4); JTextField display_ephemeris_1_tf6 = new JTextField(3); JTextField display_ephemeris_1_tf7 = new JTextField(6); JTextField display_ephemeris_1_tf8 = new JTextField(5); JTextField display_ephemeris_1_tf9 = new JTextField(5); JTextField display_ephemeris_1_tf10 = new JTextField(3); JTextField display_ephemeris_1_tf11 = new JTextField(3); JTextField display_ephemeris_1_tf12 = new JTextField(3); JTextField display_ephemeris_1_tf13 = new JTextField(3); JTextField display_ephemeris_1_tf14 = new JTextField(5); JTextField display_ephemeris_1_tf15 = new JTextField(5); JTextField display_ephemeris_1_tf16 = new JTextField(3); JTextField display_ephemeris_1_tf17 = new JTextField(3); JTextField display_ephemeris_1_tf18 = new JTextField(3); JTextField display_ephemeris_1_tf19 = new JTextField(3); JTextField display_ephemeris_1_tf20 = new JTextField(5); JTextField display_ephemeris_1_tf21 = new JTextField(5); JTextField display_ephemeris_1_tf22 = new JTextField(3); JTextField display_ephemeris_1_tf23 = new JTextField(3); JTextField display_ephemeris_1_tf24 = new JTextField(5); JButton display_ephemeris_1_b1 = new JButton("Begin"); JButton display_ephemeris_1_b2 = new JButton("Cancel"); CheckboxGroup display_ephemeris_1_cb1 = new CheckboxGroup(); Checkbox display_ephemeris_1_ObservatoryCode = new Checkbox("Observatory Code ",true,display_ephemeris_1_cb1); Checkbox display_ephemeris_1_Geocentric = new Checkbox("Geocentric",false,display_ephemeris_1_cb1); Checkbox display_ephemeris_1_LatLongAlt = new Checkbox("Geodetic Latitude: ",false,display_ephemeris_1_cb1); JButton display_ephemeris_2_b1 = new JButton("Next 10"); JButton display_ephemeris_2_b2 = new JButton("Done"); JButton compute_orbit_b1 = new JButton("Initial"); JButton compute_orbit_b2 = new JButton("Best-Fit"); JButton compute_orbit_b3 = new JButton("Residuals"); JButton compute_orbit_b4 = new JButton("Propogate"); JButton compute_orbit_b5 = new JButton("Cancel"); JButton compute_orbit_b6 = new JButton("Obs MC"); JButton compute_orbit_b7 = new JButton("Stat Rng"); JTextField propogate_epoch_1_tf1 = new JTextField(13); JTextField propogate_epoch_1_tf2 = new JTextField(13); JButton propogate_epoch_1_b1 = new JButton("Begin"); JButton propogate_epoch_1_b2 = new JButton("Cancel"); JButton compute_residuals_1_b1 = new JButton("Begin"); JButton compute_residuals_1_b2 = new JButton("Cancel"); JButton compute_residuals_2_b1 = new JButton("Prev 5"); JButton compute_residuals_2_b2 = new JButton("Next 5"); JButton compute_residuals_2_b3 = new JButton("Phys Props"); JButton compute_residuals_2_b4 = new JButton("Done"); JButton compute_best_fit_1_b1 = new JButton("Begin"); JButton compute_best_fit_1_b2 = new JButton("Cancel"); CheckboxGroup compute_best_fit_1_thrust = new CheckboxGroup(); Checkbox compute_best_fit_1_thrust_no = new Checkbox("Do Not Use Non-Gravitational Thrust Parameters",true,compute_best_fit_1_thrust); Checkbox compute_best_fit_1_thrust_yes = new Checkbox("Use Non-Gravitational Thrust Parameters",false,compute_best_fit_1_thrust); CheckboxGroup compute_best_fit_1_selection = new CheckboxGroup(); Checkbox compute_best_fit_1_selection_all = new Checkbox("Use all observations",false,compute_best_fit_1_selection); Checkbox compute_best_fit_1_selection_chi = new Checkbox("Exclude observations where chi exceeds threshold",true,compute_best_fit_1_selection); Checkbox compute_best_fit_1_selection_residual = new Checkbox("Exclude observations where residuals exceed threshold",false,compute_best_fit_1_selection); JTextField compute_best_fit_1_tf1 = new JTextField(5); JTextField compute_best_fit_1_tf2 = new JTextField(5); JTextField compute_best_fit_1_tf3 = new JTextField(5); JTextField compute_best_fit_1_tf4 = new JTextField(5); JComboBox select_observations_cl1 = new JComboBox(); JComboBox select_observations_cl2 = new JComboBox(); JComboBox select_observations_cl3 = new JComboBox(); JButton select_observations_b1 = new JButton("Submit"); JButton select_observations_b2 = new JButton("Cancel"); JTextField display_initial_orbit_tf0 = new JTextField(23); JTextField display_initial_orbit_tf1 = new JTextField(23); JTextField display_initial_orbit_tf2 = new JTextField(23); JTextField display_initial_orbit_tf3 = new JTextField(23); JTextField display_initial_orbit_tf4 = new JTextField(23); JTextField display_initial_orbit_tf5 = new JTextField(23); JTextField display_initial_orbit_tf6 = new JTextField(23); JTextField display_initial_orbit_tf7 = new JTextField(23); JTextField display_initial_orbit_tf8 = new JTextField(23); JTextField display_initial_orbit_tf9 = new JTextField(23); JTextField display_initial_orbit_tf10 = new JTextField(23); JTextField display_initial_orbit_tf11 = new JTextField(23); JTextField display_initial_orbit_tf12 = new JTextField(23); JButton display_initial_orbit_b1 = new JButton("Select"); JButton display_initial_orbit_b2 = new JButton("Select"); JButton display_initial_orbit_b3 = new JButton("Select"); JButton display_initial_orbit_b4 = new JButton("Select"); JButton display_initial_orbit_b5 = new JButton("Select"); JButton display_initial_orbit_b6 = new JButton("Select"); JButton select_method_b1 = new JButton("Gauss"); JButton select_method_b2 = new JButton("conditioned Gauss"); JButton select_method_b3 = new JButton("Laplace"); JButton select_method_b4 = new JButton("Cancel"); JTextField set_a_tf1 = new JTextField(8); JButton set_a_b1 = new JButton("Submit"); JButton set_a_b2 = new JButton("Cancel"); JButton no_events_b1 = new JButton("Done"); JButton read_MPEC_b1 = new JButton("Process"); JButton read_MPEC_b2 = new JButton("Cancel"); JButton read_neodys_b1 = new JButton("Process"); JButton read_neodys_b2 = new JButton("Cancel"); JButton designate_mp_b1 = new JButton("Submit"); CheckboxGroup designate_mp_group = new CheckboxGroup(); Checkbox designate_mp_1 = new Checkbox("asteroid",false,designate_mp_group); Checkbox designate_mp_2 = new Checkbox("comet",false,designate_mp_group); JTextField display_physical_properties_tf1 = new JTextField(6); JTextField display_physical_properties_tf2 = new JTextField(6); JTextField display_physical_properties_tf3 = new JTextField(8); JTextField display_physical_properties_tf4 = new JTextField(16); JTextField display_physical_properties_tf5 = new JTextField(16); JButton display_physical_properties_b1 = new JButton("Display Orb Els"); JButton display_physical_properties_b2 = new JButton("Done"); JButton select_duration_b1 = new JButton("Select"); JButton select_duration_b2 = new JButton("Select"); JButton select_duration_b3 = new JButton("Select"); JButton select_duration_b4 = new JButton("Select"); JButton select_duration_b5 = new JButton("Select"); JButton select_duration_b6 = new JButton("Select"); JButton select_duration_b7 = new JButton("Cancel"); JButton compare_observations_1_b1 = new JButton("Process"); JButton compare_observations_1_b2 = new JButton("Cancel"); JButton display_candidates_b1 = new JButton("Done"); JButton display_candidates_b2 = new JButton("Back 10"); JButton display_candidates_b3 = new JButton("Forward 10"); CheckboxGroup compare_observations_1_choices = new CheckboxGroup(); Checkbox compare_observations_1_twobody_com = new Checkbox("Use two-body mechanics",true,compare_observations_1_choices); Checkbox compare_observations_1_twobody_as = new Checkbox("Use two-body mechanics, consider all asteroids",true,compare_observations_1_choices); Checkbox compare_observations_1_nbody = new Checkbox("Use integrated n-body mechanics",false,compare_observations_1_choices); Checkbox compare_observations_1_nbody_all = new Checkbox("Use integrated n-body mechanics, consider all asteroids",false,compare_observations_1_choices); Checkbox compare_observations_1_nbody_NEA = new Checkbox("Use integrated n-body mechanics, consider only NEAs",false,compare_observations_1_choices); Checkbox compare_observations_1_nbody_MB = new Checkbox("Use integrated n-body mechanics, consider only Main-Belt asteroids",false,compare_observations_1_choices); Checkbox compare_observations_1_nbody_TNO = new Checkbox("Use integrated n-body mechanics, consider only Centaurs and TNOs",false,compare_observations_1_choices); JTextField select_duration_tf1 = new JTextField(7); Checkbox compare_observations_1_nbody_singleNEA = new Checkbox("Use integrated n-body mechanics, consider only single-opp NEAs",false,compare_observations_1_choices); Checkbox compare_observations_1_nbody_NEA18 = new Checkbox("Use integrated n-body mechanics, consider only NEAs with Abs Mag <= 18",false,compare_observations_1_choices); Checkbox compare_observations_1_nbody_NEA20 = new Checkbox("Use integrated n-body mechanics, consider only NEAs with 18 < Abs Mag <= 20",false,compare_observations_1_choices); Checkbox compare_observations_1_nbody_NEA30 = new Checkbox("Use integrated n-body mechanics, consider only NEAs with 20 < Abs Mag <= 30",false,compare_observations_1_choices); Checkbox compare_observations_1_nbody_NEALT20 = new Checkbox("Use integrated n-body mechanics, consider only NEAs with Abs Mag <= 20",false,compare_observations_1_choices); Checkbox compare_observations_1_nbody_NEA1830 = new Checkbox("Use integrated n-body mechanics, consider only NEAs with 18 < Abs Mag <= 30",false,compare_observations_1_choices); CheckboxGroup select_duration_group = new CheckboxGroup(); Checkbox select_duration_nominal = new Checkbox("Linear Collision Analysis - Consider only nominal trajectory",false,select_duration_group); Checkbox select_duration_VI = new Checkbox("Nonlinear Collision Analysis - Consider ",true,select_duration_group); JTextField select_duration_tf2 = new JTextField(7); CheckboxGroup select_duration_group3 = new CheckboxGroup(); Checkbox select_duration_normal = new Checkbox("Sample normal distribution",false,select_duration_group3); Checkbox select_duration_weak = new Checkbox("Sample Line-Of-Variation",true,select_duration_group3); Checkbox select_duration_SR = new Checkbox("Use Statistical Ranging Trajectories",false,select_duration_group3); JComboBox select_mp_cl1 = new JComboBox(); JButton select_mp_b1 = new JButton("Import"); JButton select_mp_b2 = new JButton("Cancel"); CheckboxGroup select_duration_group2 = new CheckboxGroup(); Checkbox select_duration_high = new Checkbox("high",true,select_duration_group2); Checkbox select_duration_medium = new Checkbox("medium",false,select_duration_group2); CheckboxGroup select_duration_group4 = new CheckboxGroup(); Checkbox select_duration_normal_filter = new Checkbox("all",false,select_duration_group4); Checkbox select_duration_narrow_filter = new Checkbox("Earth-only",true,select_duration_group4); CheckboxGroup compare_observations_1_accuracy = new CheckboxGroup(); Checkbox compare_observations_1_high = new Checkbox("high",false,compare_observations_1_accuracy); Checkbox compare_observations_1_medium = new Checkbox("medium",true,compare_observations_1_accuracy); JButton add_obs_b5 = new JButton("Cancel"); JButton select_method_b5 = new JButton("Herget"); JTextField set_rhos_tf1 = new JTextField(8); JTextField set_rhos_tf2 = new JTextField(8); JButton set_rhos_b1 = new JButton("Submit"); JButton set_rhos_b2 = new JButton("Cancel"); CheckboxGroup set_rhos_lschoice = new CheckboxGroup(); Checkbox set_rhos_ls = new Checkbox("Refine resulting orbit using iterative least squares",false,set_rhos_lschoice); JTextField display_herget_orbit_tf0 = new JTextField(23); JTextField display_herget_orbit_tf1 = new JTextField(23); JTextField display_herget_orbit_tf2 = new JTextField(23); JTextField display_herget_orbit_tf3 = new JTextField(23); JTextField display_herget_orbit_tf4 = new JTextField(23); JTextField display_herget_orbit_tf5 = new JTextField(23); JTextField display_herget_orbit_tf6 = new JTextField(23); JTextField display_herget_orbit_tf7 = new JTextField(23); JTextField display_herget_orbit_tf8 = new JTextField(23); JTextField display_herget_orbit_tf9 = new JTextField(23); JTextField display_herget_orbit_tf10 = new JTextField(23); JTextField display_herget_orbit_tf11 = new JTextField(23); JTextField display_herget_orbit_tf12 = new JTextField(23); JButton display_herget_orbit_b1 = new JButton("Select"); JButton display_herget_orbit_b2 = new JButton("Select"); JButton display_herget_orbit_b3 = new JButton("Select"); JButton display_herget_orbit_b4 = new JButton("Select"); JButton display_herget_orbit_b5 = new JButton("Select"); JButton display_herget_orbit_b6 = new JButton("Select"); JButton sample_obs_MC_1_b1 = new JButton("Begin"); JButton sample_obs_MC_1_b2 = new JButton("Cancel"); JButton display_obs_MC_1_b1 = new JButton("q vs. e"); JButton display_obs_MC_1_b2 = new JButton("q vs. i"); JButton display_obs_MC_1_b3 = new JButton("q vs. w"); JButton display_obs_MC_1_b4 = new JButton("q vs. omega"); JButton display_obs_MC_1_b5 = new JButton("q vs. M"); JButton display_obs_MC_1_b6 = new JButton("Cancel"); JButton display_ephemeris_1_b3 = new JButton("Begin"); JButton MC_ephem_toggle_display_b1 = new JButton("Next"); JButton MC_ephem_toggle_display_b2 = new JButton("Cancel"); JTextField stat_ranging_inputs_tf1 = new JTextField(7); JTextField stat_ranging_inputs_tf2 = new JTextField(5); JTextField stat_ranging_inputs_tf4 = new JTextField(5); JTextField stat_ranging_inputs_tf5 = new JTextField(5); Checkbox stat_ranging_inputs_prograde = new Checkbox("Require prograde orbit",true); Checkbox stat_ranging_inputs_eccentricity = new Checkbox("Require e < 1.0",true); Checkbox stat_ranging_inputs_residuals = new Checkbox("Require RMS optical residuals < ",true); CheckboxGroup stat_ranging_orbit4 = new CheckboxGroup(); Checkbox stat_ranging_inputs_2body = new Checkbox("Use two-body mechanics ",true,stat_ranging_orbit4); Checkbox stat_ranging_inputs_nbody = new Checkbox("Use n-body mechanics ",false,stat_ranging_orbit4); JButton stat_ranging_inputs_b1 = new JButton("Begin"); JButton stat_ranging_inputs_b2 = new JButton("Cancel"); /* Define mp to be an instance of the MinorPlanet class; it can then be used to trigger references to MinorPlanet variables and methods. */ MinorPlanet mp = new MinorPlanet(); /* Define gp to be an instance of the Graphing class; it can then be used to trigger graphs of results. */ Graphing gp = new Graphing(); /* input_juldate is the TDT jultime of the optical observation being entered in add_optical_obs_1; it will be converted to TDB in add_optical_obs_3 once the lat/long/alt and EOPs are known. */ double input_juldate = 0; double[] classical_elements = new double[9]; double[] classical_elements_uncertainty = new double[9]; double[][] collision = new double[10000][9]; /* Define observation_counter to track observations displayed on the delete_observation screens */ int observation_counter = 0; /* Define event_counter to track VIs/collisions/near-misses displayed on the check_for_collision screens */ int event_counter = 0; double display_ephemeris_time = 0, display_ephemeris_interval = 0, display_ephemeris_endtime = 0, display_ephemeris_starttime = 0; String[] formatted_ephemerides = new String[101]; double[][] ephemeris_radec = new double[101][3]; double[] ephemeris_magnitudes = new double[101]; double[][] ephemeris_support_data = new double[101][9]; /* Define ephemeris_counter to track entries in the optical ephemeris displayed on the display_ephemeris screens */ int ephemeris_counter = 0; double[] residuals = new double[16002]; double[] rms_residuals = new double[4]; String[] formatted_observations = new String[16001]; String[] formatted_residuals = new String[16001]; String[] formatted_rms_residuals = new String[4]; int residual_counter = 0; int reset_residual_counter = 0; double[] two_body_Lx = new double[4]; double[] two_body_Ly = new double[4]; double[] two_body_Lz = new double[4]; double[] two_body_x = new double[4]; double[] two_body_y = new double[4]; double[] two_body_z = new double[4]; double[] two_body_r = new double[4]; double[] two_body_rprime = new double[4]; int[] pointer = new int[4]; String[] two_body_residuals = new String[4]; double two_body_time1 = 0, two_body_time2 = 0, two_body_time3 = 0, two_body_epoch_time = 0, two_body_recipa = 0; String two_body_method = " "; int kgaussfail = 0; double[] barycentric_two_body_r = new double[4]; double[] barycentric_two_body_rprime = new double[4]; String two_body_error_message = " "; boolean PHA = false; String[] obscode = new String[2000]; double[] obslong = new double[2000]; double[] obslat = new double[2000]; double[] obsalt = new double[2000]; int code_counter = 0; /* Define collision_duration as the julday end point of a search for collisions and/or near misses */ double collision_duration = 0; double[][] candidate_residuals = new double[1001][14]; String[] candidates = new String[1001]; double[][] candidate_sunr = new double[1001][4]; int candidate_counter = 0; int candidate_pointer = 0; int Monte_Carlo_index = 1201; double[][][] virtual_impactors = new double[1000][7][6]; String[] formatted_collisions = new String[20000]; int non_event_counter = 0; double[][] non_event_array = new double[10000][14]; double[] nominal_eigenvector = new double[7]; /* Define elapsed_time as the time (in minutes) required to perform a lengthy comparison of the observations of the current minor planet with those predicted for known minor planets */ double elapsed_time = 0; String[] import_designation_array = new String[1000001]; double[] import_elements_array = new double[13]; int import_counter = 0; double two_body_rho1 = 0, two_body_rho2 = 0; double[] two_body_times = new double[3]; String[] mjd_string = new String[30000]; String[] x_string = new String[30000]; String[] y_string = new String[30000]; String[] ut1utc_string = new String[30000]; String[] lod_string = new String[30000]; String[] dPsi_string = new String[30000]; String[] dEpsilon_string = new String[30000]; int eop_counter = 0; double[][] MC_state_vectors = new double[8001][7]; double[][] MC_orbital_elements = new double[8001][9]; double[][][] MC_ephemeris_radec = new double[25][8001][3]; int MC_counter = 0, MC_ephem_counter = 0, MC_ephem_display_counter = 0, SR_total = 0; boolean SR_flag = false; public GUI() { /* This is a constructor method. It is called when the main method creates an object in the title class. */ super("Comet/Asteroid Orbit Determination and Ephemeris Software"); /* Create a new pane container */ pane = new JPanel(); /* Define a layout manager for the pane */ GridBagLayout title_layout = new GridBagLayout(); GridBagConstraints title_constraints = new GridBagConstraints(); pane.setLayout(title_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); Font font_g = new Font("monospaced",Font.PLAIN,10); /* Add constraints to title_blank1, then add it to pane */ JLabel title_blank1 = new JLabel(" "); buildConstraints(title_constraints,0,0,1,1,100,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); title_layout.setConstraints(title_blank1,title_constraints); title_blank1.setFont(font_f); pane.add(title_blank1); /* Add constraints to title_blank2, then add it to pane */ JLabel title_blank2 = new JLabel(" "); buildConstraints(title_constraints,0,1,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); title_layout.setConstraints(title_blank2,title_constraints); title_blank2.setFont(font_f); pane.add(title_blank2); /* Add constraints to title_greeting1, then add it to pane */ JLabel title_greeting1 = new JLabel("Welcome to CODES."); buildConstraints(title_constraints,0,2,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); title_layout.setConstraints(title_greeting1,title_constraints); title_greeting1.setFont(font_f); pane.add(title_greeting1); /* Add constraints to title_greeting2, then add it to pane */ JLabel title_greeting2 = new JLabel("Please press the button to begin."); buildConstraints(title_constraints,0,3,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); title_layout.setConstraints(title_greeting2,title_constraints); title_greeting2.setFont(font_f); pane.add(title_greeting2); /* Add constraints to title_b1, add a listener, then add it to pane */ buildConstraints(title_constraints,0,4,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); title_layout.setConstraints(title_b1,title_constraints); title_b1.addActionListener(this); title_b1.setFont(font_f); pane.add(title_b1); /* Add constraints to title_blank3, then add it to pane */ JLabel title_blank3 = new JLabel(" "); buildConstraints(title_constraints,0,5,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); title_layout.setConstraints(title_blank3,title_constraints); title_blank3.setFont(font_f); pane.add(title_blank3); /* Add constraints to title_blank4, then add it to pane */ JLabel title_blank4 = new JLabel("Copyright 2000 by James Baer"); buildConstraints(title_constraints,0,6,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); title_layout.setConstraints(title_blank4,title_constraints); title_blank4.setFont(font_g); pane.add(title_blank4); setContentPane(pane); } public static void main(String[] args) { /* Set the "look and feel" to Java Metal */ try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) { System.err.println("Can't set cross-platform look and feel: " + e); } /* Create an instance of the GUI class; this will result in the constructor method being run, and the user-interface is opened for business. */ JFrame frame = new GUI(); WindowListener l = new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }; frame.addWindowListener(l); frame.setSize(800,550); frame.setVisible(true); } public void actionPerformed(ActionEvent evt) { Object source = evt.getSource(); String choice; if (source == title_b1) { title_b1.removeActionListener(this); read_obscode_list(); level_one_menu(); } else if (source == level_one_menu_b1) { level_one_menu_b1.removeActionListener(this); level_one_menu_b2.removeActionListener(this); level_one_menu_b3.removeActionListener(this); mp.current_minor_planet = level_one_menu_tf1.getText(); add_mp(mp.current_minor_planet); } else if (source == level_one_menu_b2) { level_one_menu_b1.removeActionListener(this); level_one_menu_b2.removeActionListener(this); level_one_menu_b3.removeActionListener(this); mp.current_minor_planet = (String)level_one_menu_cl1.getSelectedItem(); edit_mp(mp.current_minor_planet); } else if (source == level_one_menu_b3) { level_one_menu_b1.removeActionListener(this); level_one_menu_b2.removeActionListener(this); level_one_menu_b3.removeActionListener(this); choice = (String)level_one_menu_cl2.getSelectedItem(); delete_mp(choice); } else if (source == add_mp_b1) { add_mp_b1.removeActionListener(this); add_mp_b2.removeActionListener(this); add_mp_b3.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == add_mp_b2) { add_mp_b1.removeActionListener(this); add_mp_b2.removeActionListener(this); add_mp_b3.removeActionListener(this); level_one_menu(); } else if (source == add_mp_b3) { add_mp_b1.removeActionListener(this); add_mp_b2.removeActionListener(this); add_mp_b3.removeActionListener(this); expedited_comparison(); } else if (source == delete_mp_b1) { delete_mp_b1.removeActionListener(this); level_one_menu(); } else if (source == edit_mp_b1) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); eop_file_reader(); add_obs(); } else if (source == edit_mp_b2) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); preprocess_delete_observation(); format_observations_residuals(); delete_observation(); } else if (source == edit_mp_b3) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); compute_orbit(); } else if (source == edit_mp_b4) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); display_orbit(); } else if (source == edit_mp_b5) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); input_orbit(); } else if (source == edit_mp_b6) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); display_ephemeris_1(); } else if (source == edit_mp_b7) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); select_duration(); } else if (source == edit_mp_b8) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); set_perturbers(); } else if (source == edit_mp_b9) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); set_radius(); } else if (source == edit_mp_b10) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); level_one_menu(); } else if (source == edit_mp_b11) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); designate_mp(); } else if (source == edit_mp_b12) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); compare_observations_1(); } else if (source == edit_mp_b13) { edit_mp_b1.removeActionListener(this); edit_mp_b2.removeActionListener(this); edit_mp_b3.removeActionListener(this); edit_mp_b4.removeActionListener(this); edit_mp_b5.removeActionListener(this); edit_mp_b6.removeActionListener(this); edit_mp_b7.removeActionListener(this); edit_mp_b8.removeActionListener(this); edit_mp_b9.removeActionListener(this); edit_mp_b10.removeActionListener(this); edit_mp_b11.removeActionListener(this); edit_mp_b12.removeActionListener(this); edit_mp_b13.removeActionListener(this); mpc_catalog_reader(1); select_mp(); } else if (source == select_mp_b1) { select_mp_b1.removeActionListener(this); select_mp_b2.removeActionListener(this); initialize_imported_mp(); edit_mp(mp.current_minor_planet); } else if (source == select_mp_b2) { select_mp_b1.removeActionListener(this); select_mp_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == add_obs_b1) { add_obs_b1.removeActionListener(this); add_obs_b2.removeActionListener(this); add_obs_b3.removeActionListener(this); add_obs_b4.removeActionListener(this); add_obs_b5.removeActionListener(this); add_optical_obs_1(); } else if (source == add_obs_b2) { add_obs_b1.removeActionListener(this); add_obs_b2.removeActionListener(this); add_obs_b3.removeActionListener(this); add_obs_b4.removeActionListener(this); add_obs_b5.removeActionListener(this); add_radar_obs_1(); } else if (source == add_obs_b3) { add_obs_b1.removeActionListener(this); add_obs_b2.removeActionListener(this); add_obs_b3.removeActionListener(this); add_obs_b4.removeActionListener(this); add_obs_b5.removeActionListener(this); read_MPEC(); } else if (source == add_obs_b4) { add_obs_b1.removeActionListener(this); add_obs_b2.removeActionListener(this); add_obs_b3.removeActionListener(this); add_obs_b4.removeActionListener(this); add_obs_b5.removeActionListener(this); read_neodys(); } else if (source == add_obs_b5) { add_obs_b1.removeActionListener(this); add_obs_b2.removeActionListener(this); add_obs_b3.removeActionListener(this); add_obs_b4.removeActionListener(this); add_obs_b5.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == read_MPEC_b1) { read_MPEC_b1.removeActionListener(this); read_MPEC_b2.removeActionListener(this); MPEC_reader(); edit_mp(mp.current_minor_planet); } else if (source == read_MPEC_b2) { read_MPEC_b1.removeActionListener(this); read_MPEC_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == read_neodys_b1) { read_neodys_b1.removeActionListener(this); read_neodys_b2.removeActionListener(this); neodys_reader(); edit_mp(mp.current_minor_planet); } else if (source == read_neodys_b2) { read_neodys_b1.removeActionListener(this); read_neodys_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == add_optical_obs_1_b1) { add_optical_obs_1_b1.removeActionListener(this); add_optical_obs_1_b2.removeActionListener(this); process_optical_obs_1(); add_optical_obs_2(); } else if (source == add_optical_obs_1_b2) { add_optical_obs_1_b1.removeActionListener(this); add_optical_obs_1_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == add_optical_obs_2_b1) { add_optical_obs_2_b1.removeActionListener(this); add_optical_obs_2_b2.removeActionListener(this); process_optical_obs_2(); if (((mp.optical_time[mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations] - 2400000.5) > (Double.valueOf(mjd_string[0]).doubleValue()+1)) && ((mp.optical_time[mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations] - 2400000.5) < Double.valueOf(mjd_string[eop_counter]).doubleValue())) { /* Use the EOP database */ read_optical_eop_parms(); process_optical_obs_3(); edit_mp(mp.current_minor_planet); } else if (add_optical_obs_2_EOPs.getState()) { /* Use default EOPs and skip 3rd screen */ process_optical_obs_2a(); edit_mp(mp.current_minor_planet); } else add_optical_obs_3(); } else if (source == add_optical_obs_2_b2) { add_optical_obs_2_b1.removeActionListener(this); add_optical_obs_2_b2.removeActionListener(this); cancel_optical_obs_1(); edit_mp(mp.current_minor_planet); } else if (source == add_optical_obs_3_b1) { add_optical_obs_3_b1.removeActionListener(this); add_optical_obs_3_b2.removeActionListener(this); process_optical_obs_3(); edit_mp(mp.current_minor_planet); } else if (source == add_optical_obs_3_b2) { add_optical_obs_3_b1.removeActionListener(this); add_optical_obs_3_b2.removeActionListener(this); cancel_optical_obs_2(); edit_mp(mp.current_minor_planet); } else if (source == add_radar_obs_1_b1) { add_radar_obs_1_b1.removeActionListener(this); add_radar_obs_1_b2.removeActionListener(this); process_radar_obs_1(); add_radar_obs_2(); } else if (source == add_radar_obs_1_b2) { add_radar_obs_1_b1.removeActionListener(this); add_radar_obs_1_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == add_radar_obs_2_b1) { add_radar_obs_2_b1.removeActionListener(this); add_radar_obs_2_b2.removeActionListener(this); process_radar_obs_2(); if (((mp.observation_type[mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations] == 2) && (((mp.radar_delay_receiver_time[mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations] - 2400000.5) > (Double.valueOf(mjd_string[0]).doubleValue()+1)) && ((mp.radar_delay_receiver_time[mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations] - 2400000.5) < Double.valueOf(mjd_string[eop_counter]).doubleValue()))) || ((mp.observation_type[mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations] == 3) && (((mp.radar_doppler_receiver_time[mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations] - 2400000.5) > (Double.valueOf(mjd_string[0]).doubleValue()+1)) && ((mp.radar_doppler_receiver_time[mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations] - 2400000.5) < Double.valueOf(mjd_string[eop_counter]).doubleValue())))){ /* Use the EOP database */ read_radar_eop_parms(); process_radar_obs_3(); edit_mp(mp.current_minor_planet); } else { add_radar_obs_3(); } } else if (source == add_radar_obs_2_b2) { add_radar_obs_2_b1.removeActionListener(this); add_radar_obs_2_b2.removeActionListener(this); cancel_radar_obs_1(); edit_mp(mp.current_minor_planet); } else if (source == add_radar_obs_3_b1) { add_radar_obs_3_b1.removeActionListener(this); add_radar_obs_3_b2.removeActionListener(this); process_radar_obs_3(); edit_mp(mp.current_minor_planet); } else if (source == add_radar_obs_3_b2) { add_radar_obs_3_b1.removeActionListener(this); add_radar_obs_3_b2.removeActionListener(this); cancel_radar_obs_2(); edit_mp(mp.current_minor_planet); } else if (source == input_orbit_b1) { input_orbit_b1.removeActionListener(this); input_orbit_b2.removeActionListener(this); input_orbit_b3.removeActionListener(this); preprocess_input_orbital_elements(); input_orbital_elements(); } else if (source == input_orbit_b2) { input_orbit_b1.removeActionListener(this); input_orbit_b2.removeActionListener(this); input_orbit_b3.removeActionListener(this); input_state_vector(); } else if (source == input_orbit_b3) { input_orbit_b1.removeActionListener(this); input_orbit_b2.removeActionListener(this); input_orbit_b3.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == input_state_vector_b1) { input_state_vector_b1.removeActionListener(this); input_state_vector_b2.removeActionListener(this); process_input_state_vector(); edit_mp(mp.current_minor_planet); } else if (source == input_state_vector_b2) { input_state_vector_b1.removeActionListener(this); input_state_vector_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == input_orbital_elements_b1) { input_orbital_elements_b1.removeActionListener(this); input_orbital_elements_b2.removeActionListener(this); process_input_orbital_elements(); edit_mp(mp.current_minor_planet); } else if (source == input_orbital_elements_b2) { input_orbital_elements_b1.removeActionListener(this); input_orbital_elements_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_orbit_b1) { display_orbit_b1.removeActionListener(this); display_orbit_b2.removeActionListener(this); display_orbit_b3.removeActionListener(this); preprocess_input_orbital_elements(); evaluate_PHA(); display_orbital_elements(); } else if (source == display_orbit_b2) { display_orbit_b1.removeActionListener(this); display_orbit_b2.removeActionListener(this); display_orbit_b3.removeActionListener(this); preprocess_input_orbital_elements(); evaluate_PHA(); display_state_vector(); } else if (source == display_orbit_b3) { display_orbit_b1.removeActionListener(this); display_orbit_b2.removeActionListener(this); display_orbit_b3.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_state_vector_b1) { display_state_vector_b1.removeActionListener(this); display_state_vector_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_orbital_elements_b1) { display_orbital_elements_b1.removeActionListener(this); display_orbital_elements_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == set_perturbers_b1) { set_perturbers_b1.removeActionListener(this); process_set_perturbers(); edit_mp(mp.current_minor_planet); } else if (source == set_radius_b1) { set_radius_b1.removeActionListener(this); set_radius_b2.removeActionListener(this); process_set_radius(); edit_mp(mp.current_minor_planet); } else if (source == set_radius_b2) { set_radius_b1.removeActionListener(this); set_radius_b2.removeActionListener(this); process_recalculate_abs_mag(); set_radius(); } else if (source == delete_observation_b1) { delete_observation_b1.removeActionListener(this); delete_observation_b2.removeActionListener(this); delete_observation_b3.removeActionListener(this); delete_observation_b4.removeActionListener(this); process_delete_observation(); format_observations_residuals(); delete_observation(); } else if (source == delete_observation_b2) { delete_observation_b1.removeActionListener(this); delete_observation_b2.removeActionListener(this); delete_observation_b3.removeActionListener(this); delete_observation_b4.removeActionListener(this); delete_observation(); } else if (source == delete_observation_b3) { delete_observation_b1.removeActionListener(this); delete_observation_b2.removeActionListener(this); delete_observation_b3.removeActionListener(this); delete_observation_b4.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == delete_observation_b4) { delete_observation_b1.removeActionListener(this); delete_observation_b2.removeActionListener(this); delete_observation_b3.removeActionListener(this); delete_observation_b4.removeActionListener(this); back5_delete_observation(); delete_observation(); } else if (source == select_duration_b1) { select_duration_b1.removeActionListener(this); select_duration_b2.removeActionListener(this); select_duration_b3.removeActionListener(this); select_duration_b4.removeActionListener(this); select_duration_b5.removeActionListener(this); select_duration_b6.removeActionListener(this); select_duration_b7.removeActionListener(this); wait_screen(); collision_duration = 2462502.5; preprocess_check_for_collision(); file_output_check_for_collision(); if ((collision[0][0] + non_event_counter + virtual_impactors[0][0][0]) > 0.0) { check_for_collision(); } else no_events(); } else if (source == select_duration_b2) { select_duration_b1.removeActionListener(this); select_duration_b2.removeActionListener(this); select_duration_b3.removeActionListener(this); select_duration_b4.removeActionListener(this); select_duration_b5.removeActionListener(this); select_duration_b6.removeActionListener(this); select_duration_b7.removeActionListener(this); wait_screen(); collision_duration = 2469807.5; preprocess_check_for_collision(); file_output_check_for_collision(); if ((collision[0][0] + non_event_counter + virtual_impactors[0][0][0]) > 0.0) { check_for_collision(); } else no_events(); } else if (source == select_duration_b3) { select_duration_b1.removeActionListener(this); select_duration_b2.removeActionListener(this); select_duration_b3.removeActionListener(this); select_duration_b4.removeActionListener(this); select_duration_b5.removeActionListener(this); select_duration_b6.removeActionListener(this); select_duration_b7.removeActionListener(this); wait_screen(); collision_duration = 2478938.75; preprocess_check_for_collision(); file_output_check_for_collision(); if ((collision[0][0] + non_event_counter + virtual_impactors[0][0][0]) > 0.0) { check_for_collision(); } else no_events(); } else if (source == select_duration_b4) { select_duration_b1.removeActionListener(this); select_duration_b2.removeActionListener(this); select_duration_b3.removeActionListener(this); select_duration_b4.removeActionListener(this); select_duration_b5.removeActionListener(this); select_duration_b6.removeActionListener(this); select_duration_b7.removeActionListener(this); wait_screen(); collision_duration = 2488070.0; preprocess_check_for_collision(); file_output_check_for_collision(); if ((collision[0][0] + non_event_counter + virtual_impactors[0][0][0]) > 0.0) { check_for_collision(); } else no_events(); } else if (source == select_duration_b5) { select_duration_b1.removeActionListener(this); select_duration_b2.removeActionListener(this); select_duration_b3.removeActionListener(this); select_duration_b4.removeActionListener(this); select_duration_b5.removeActionListener(this); select_duration_b6.removeActionListener(this); select_duration_b7.removeActionListener(this); wait_screen(); collision_duration = 2506332.5; preprocess_check_for_collision(); file_output_check_for_collision(); if ((collision[0][0] + non_event_counter + virtual_impactors[0][0][0]) > 0.0) { check_for_collision(); } else no_events(); } else if (source == select_duration_b6) { select_duration_b1.removeActionListener(this); select_duration_b2.removeActionListener(this); select_duration_b3.removeActionListener(this); select_duration_b4.removeActionListener(this); select_duration_b5.removeActionListener(this); select_duration_b6.removeActionListener(this); select_duration_b7.removeActionListener(this); wait_screen(); collision_duration = 2524595.0; preprocess_check_for_collision(); file_output_check_for_collision(); if ((collision[0][0] + non_event_counter + virtual_impactors[0][0][0]) > 0.0) { check_for_collision(); } else no_events(); } else if (source == select_duration_b7) { select_duration_b1.removeActionListener(this); select_duration_b2.removeActionListener(this); select_duration_b3.removeActionListener(this); select_duration_b4.removeActionListener(this); select_duration_b5.removeActionListener(this); select_duration_b6.removeActionListener(this); select_duration_b7.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == no_events_b1) { no_events_b1.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == check_for_collision_b1) { check_for_collision_b1.removeActionListener(this); check_for_collision_b2.removeActionListener(this); check_for_collision(); } else if (source == check_for_collision_b2) { check_for_collision_b1.removeActionListener(this); check_for_collision_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_ephemeris_1_b1) { display_ephemeris_1_b1.removeActionListener(this); display_ephemeris_1_b2.removeActionListener(this); preprocess_display_ephemeris(); format_ephemeris(); file_output_display_ephemeris(); display_ephemeris_2(); } else if (source == display_ephemeris_1_b2) { display_ephemeris_1_b1.removeActionListener(this); display_ephemeris_1_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_ephemeris_2_b1) { display_ephemeris_2_b1.removeActionListener(this); display_ephemeris_2_b2.removeActionListener(this); display_ephemeris_2(); } else if (source == display_ephemeris_2_b2) { display_ephemeris_2_b1.removeActionListener(this); display_ephemeris_2_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == compute_orbit_b1) { compute_orbit_b1.removeActionListener(this); compute_orbit_b2.removeActionListener(this); compute_orbit_b3.removeActionListener(this); compute_orbit_b4.removeActionListener(this); compute_orbit_b5.removeActionListener(this); compute_orbit_b6.removeActionListener(this); compute_orbit_b7.removeActionListener(this); select_observations(); } else if (source == compute_orbit_b2) { compute_orbit_b1.removeActionListener(this); compute_orbit_b2.removeActionListener(this); compute_orbit_b3.removeActionListener(this); compute_orbit_b4.removeActionListener(this); compute_orbit_b5.removeActionListener(this); compute_orbit_b6.removeActionListener(this); compute_orbit_b7.removeActionListener(this); compute_best_fit_1(); } else if (source == compute_orbit_b3) { compute_orbit_b1.removeActionListener(this); compute_orbit_b2.removeActionListener(this); compute_orbit_b3.removeActionListener(this); compute_orbit_b4.removeActionListener(this); compute_orbit_b5.removeActionListener(this); compute_orbit_b6.removeActionListener(this); compute_orbit_b7.removeActionListener(this); compute_residuals_1(); } else if (source == compute_orbit_b4) { compute_orbit_b1.removeActionListener(this); compute_orbit_b2.removeActionListener(this); compute_orbit_b3.removeActionListener(this); compute_orbit_b4.removeActionListener(this); compute_orbit_b5.removeActionListener(this); compute_orbit_b6.removeActionListener(this); compute_orbit_b7.removeActionListener(this); propogate_epoch_1(); } else if (source == compute_orbit_b5) { compute_orbit_b1.removeActionListener(this); compute_orbit_b2.removeActionListener(this); compute_orbit_b3.removeActionListener(this); compute_orbit_b4.removeActionListener(this); compute_orbit_b5.removeActionListener(this); compute_orbit_b6.removeActionListener(this); compute_orbit_b7.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == compute_orbit_b6) { compute_orbit_b1.removeActionListener(this); compute_orbit_b2.removeActionListener(this); compute_orbit_b3.removeActionListener(this); compute_orbit_b4.removeActionListener(this); compute_orbit_b5.removeActionListener(this); compute_orbit_b6.removeActionListener(this); compute_orbit_b7.removeActionListener(this); sample_obs_MC_1(); } else if (source == compute_orbit_b7) { compute_orbit_b1.removeActionListener(this); compute_orbit_b2.removeActionListener(this); compute_orbit_b3.removeActionListener(this); compute_orbit_b4.removeActionListener(this); compute_orbit_b5.removeActionListener(this); compute_orbit_b6.removeActionListener(this); compute_orbit_b7.removeActionListener(this); stat_ranging_inputs(); } else if (source == propogate_epoch_1_b1) { propogate_epoch_1_b1.removeActionListener(this); propogate_epoch_1_b2.removeActionListener(this); preprocess_propogate_epoch(); file_output_propogate_epoch(); display_orbit(); } else if (source == propogate_epoch_1_b2) { propogate_epoch_1_b1.removeActionListener(this); propogate_epoch_1_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_state_vector_b2) { display_state_vector_b1.removeActionListener(this); display_state_vector_b2.removeActionListener(this); preprocess_input_orbital_elements(); evaluate_PHA(); display_orbital_elements(); } else if (source == display_orbital_elements_b2) { display_orbital_elements_b1.removeActionListener(this); display_orbital_elements_b2.removeActionListener(this); preprocess_input_orbital_elements(); evaluate_PHA(); display_state_vector(); } else if (source == compute_residuals_1_b1) { compute_residuals_1_b1.removeActionListener(this); compute_residuals_1_b2.removeActionListener(this); mp.get_residuals(residuals,rms_residuals); format_observations_residuals(); file_output_compute_residuals(); compute_residuals_2(); } else if (source == compute_residuals_1_b2) { compute_residuals_1_b1.removeActionListener(this); compute_residuals_1_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == compute_residuals_2_b1) { compute_residuals_2_b1.removeActionListener(this); compute_residuals_2_b2.removeActionListener(this); compute_residuals_2_b3.removeActionListener(this); compute_residuals_2_b4.removeActionListener(this); residual_counter = reset_residual_counter; compute_residuals_2(); } else if (source == compute_residuals_2_b2) { compute_residuals_2_b1.removeActionListener(this); compute_residuals_2_b2.removeActionListener(this); compute_residuals_2_b3.removeActionListener(this); compute_residuals_2_b4.removeActionListener(this); compute_residuals_2(); } else if (source == compute_residuals_2_b3) { compute_residuals_2_b1.removeActionListener(this); compute_residuals_2_b2.removeActionListener(this); compute_residuals_2_b3.removeActionListener(this); compute_residuals_2_b4.removeActionListener(this); display_physical_properties(); } else if (source == compute_residuals_2_b4) { compute_residuals_2_b1.removeActionListener(this); compute_residuals_2_b2.removeActionListener(this); compute_residuals_2_b3.removeActionListener(this); compute_residuals_2_b4.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == compute_best_fit_1_b1) { compute_best_fit_1_b1.removeActionListener(this); compute_best_fit_1_b2.removeActionListener(this); preprocess_compute_best_fit(); file_output_compute_best_fit(); compute_residuals_2(); } else if (source == compute_best_fit_1_b2) { compute_best_fit_1_b1.removeActionListener(this); compute_best_fit_1_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == select_observations_b1) { select_observations_b1.removeActionListener(this); select_observations_b2.removeActionListener(this); postprocess_select_observations(); preprocess_two_body(); select_method(); } else if (source == select_observations_b2) { select_observations_b1.removeActionListener(this); select_observations_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == select_method_b1) { select_method_b1.removeActionListener(this); select_method_b2.removeActionListener(this); select_method_b3.removeActionListener(this); select_method_b4.removeActionListener(this); select_method_b5.removeActionListener(this); two_body_method = "Gauss"; two_body_epoch_time = mp.gauss_method(two_body_Lx,two_body_Ly,two_body_Lz,two_body_x,two_body_y,two_body_z,two_body_time1,two_body_time2,two_body_time3,two_body_r,two_body_rprime); postprocess_initial_orbit(); display_initial_orbit(); } else if (source == select_method_b2) { select_method_b1.removeActionListener(this); select_method_b2.removeActionListener(this); select_method_b3.removeActionListener(this); select_method_b4.removeActionListener(this); select_method_b5.removeActionListener(this); two_body_method = "conditioned Gauss"; set_a(); } else if (source == select_method_b3) { select_method_b1.removeActionListener(this); select_method_b2.removeActionListener(this); select_method_b3.removeActionListener(this); select_method_b4.removeActionListener(this); select_method_b5.removeActionListener(this); two_body_method = "Laplace"; two_body_epoch_time = mp.laplace_method(two_body_Lx,two_body_Ly,two_body_Lz,two_body_x,two_body_y,two_body_z,two_body_time1,two_body_time2,two_body_time3,two_body_r,two_body_rprime); postprocess_initial_orbit(); display_initial_orbit(); } else if (source == select_method_b4) { select_method_b1.removeActionListener(this); select_method_b2.removeActionListener(this); select_method_b3.removeActionListener(this); select_method_b4.removeActionListener(this); select_method_b5.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == select_method_b5) { select_method_b1.removeActionListener(this); select_method_b2.removeActionListener(this); select_method_b3.removeActionListener(this); select_method_b4.removeActionListener(this); select_method_b5.removeActionListener(this); two_body_method = "Herget"; set_rhos(); } else if (source == set_rhos_b1) { set_rhos_b1.removeActionListener(this); set_rhos_b2.removeActionListener(this); postprocess_set_rhos(); preprocess_herget(two_body_Lx,two_body_Ly,two_body_Lz,two_body_x,two_body_y,two_body_z,two_body_times); mp.hergets_method(two_body_Lx, two_body_Ly, two_body_Lz, two_body_x, two_body_y, two_body_z, two_body_times, two_body_rho1, two_body_rho2); preprocess_compute_herget_best_fit(); postprocess_herget_orbit(); display_herget_orbit(); } else if (source == set_rhos_b2) { set_rhos_b1.removeActionListener(this); set_rhos_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_herget_orbit_b1) { display_herget_orbit_b1.removeActionListener(this); display_herget_orbit_b2.removeActionListener(this); display_herget_orbit_b3.removeActionListener(this); display_herget_orbit_b4.removeActionListener(this); display_herget_orbit_b5.removeActionListener(this); display_herget_orbit_b6.removeActionListener(this); mp.write_data_to_disk(mp.current_minor_planet); edit_mp(mp.current_minor_planet); } else if (source == display_herget_orbit_b2) { display_herget_orbit_b1.removeActionListener(this); display_herget_orbit_b2.removeActionListener(this); display_herget_orbit_b3.removeActionListener(this); display_herget_orbit_b4.removeActionListener(this); display_herget_orbit_b5.removeActionListener(this); display_herget_orbit_b6.removeActionListener(this); set_rhos_ls.setState(true); preprocess_compute_herget_best_fit(); postprocess_herget_orbit(); display_herget_orbit(); } else if (source == display_herget_orbit_b3) { display_herget_orbit_b1.removeActionListener(this); display_herget_orbit_b2.removeActionListener(this); display_herget_orbit_b3.removeActionListener(this); display_herget_orbit_b4.removeActionListener(this); display_herget_orbit_b5.removeActionListener(this); display_herget_orbit_b6.removeActionListener(this); two_body_method = "Herget"; set_rhos(); } else if (source == display_herget_orbit_b4) { display_herget_orbit_b1.removeActionListener(this); display_herget_orbit_b2.removeActionListener(this); display_herget_orbit_b3.removeActionListener(this); display_herget_orbit_b4.removeActionListener(this); display_herget_orbit_b5.removeActionListener(this); display_herget_orbit_b6.removeActionListener(this); select_observations(); } else if (source == display_herget_orbit_b5) { display_herget_orbit_b1.removeActionListener(this); display_herget_orbit_b2.removeActionListener(this); display_herget_orbit_b3.removeActionListener(this); display_herget_orbit_b4.removeActionListener(this); display_herget_orbit_b5.removeActionListener(this); display_herget_orbit_b6.removeActionListener(this); select_observations(); } else if (source == display_herget_orbit_b6) { display_herget_orbit_b1.removeActionListener(this); display_herget_orbit_b2.removeActionListener(this); display_herget_orbit_b3.removeActionListener(this); display_herget_orbit_b4.removeActionListener(this); display_herget_orbit_b5.removeActionListener(this); display_herget_orbit_b6.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == set_a_b1) { set_a_b1.removeActionListener(this); set_a_b2.removeActionListener(this); postprocess_set_a(); two_body_epoch_time = mp.conditioned_gauss(two_body_recipa,two_body_Lx,two_body_Ly,two_body_Lz,two_body_x,two_body_y,two_body_z,two_body_time1,two_body_time2,two_body_time3,two_body_r,two_body_rprime); postprocess_initial_orbit(); display_initial_orbit(); } else if (source == set_a_b2) { set_a_b1.removeActionListener(this); set_a_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_initial_orbit_b1) { display_initial_orbit_b1.removeActionListener(this); display_initial_orbit_b2.removeActionListener(this); display_initial_orbit_b3.removeActionListener(this); display_initial_orbit_b4.removeActionListener(this); display_initial_orbit_b5.removeActionListener(this); display_initial_orbit_b6.removeActionListener(this); accept_orbit(); edit_mp(mp.current_minor_planet); } else if (source == display_initial_orbit_b2) { display_initial_orbit_b1.removeActionListener(this); display_initial_orbit_b2.removeActionListener(this); display_initial_orbit_b3.removeActionListener(this); display_initial_orbit_b4.removeActionListener(this); display_initial_orbit_b5.removeActionListener(this); display_initial_orbit_b6.removeActionListener(this); two_body_method = "differential correction"; mp.differential_correction(two_body_r,two_body_rprime,two_body_epoch_time,two_body_Lx,two_body_Ly,two_body_Lz,two_body_x,two_body_y,two_body_z,two_body_time1,two_body_time2,two_body_time3); postprocess_initial_orbit(); display_initial_orbit(); } else if (source == display_initial_orbit_b3) { display_initial_orbit_b1.removeActionListener(this); display_initial_orbit_b2.removeActionListener(this); display_initial_orbit_b3.removeActionListener(this); display_initial_orbit_b4.removeActionListener(this); display_initial_orbit_b5.removeActionListener(this); display_initial_orbit_b6.removeActionListener(this); set_a(); } else if (source == display_initial_orbit_b4) { display_initial_orbit_b1.removeActionListener(this); display_initial_orbit_b2.removeActionListener(this); display_initial_orbit_b3.removeActionListener(this); display_initial_orbit_b4.removeActionListener(this); display_initial_orbit_b5.removeActionListener(this); display_initial_orbit_b6.removeActionListener(this); select_method(); } else if (source == display_initial_orbit_b5) { display_initial_orbit_b1.removeActionListener(this); display_initial_orbit_b2.removeActionListener(this); display_initial_orbit_b3.removeActionListener(this); display_initial_orbit_b4.removeActionListener(this); display_initial_orbit_b5.removeActionListener(this); display_initial_orbit_b6.removeActionListener(this); select_observations(); } else if (source == display_initial_orbit_b6) { display_initial_orbit_b1.removeActionListener(this); display_initial_orbit_b2.removeActionListener(this); display_initial_orbit_b3.removeActionListener(this); display_initial_orbit_b4.removeActionListener(this); display_initial_orbit_b5.removeActionListener(this); display_initial_orbit_b6.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == designate_mp_b1) { designate_mp_b1.removeActionListener(this); process_designate_mp(); edit_mp(mp.current_minor_planet); } else if (source == display_physical_properties_b1) { display_physical_properties_b1.removeActionListener(this); display_physical_properties_b2.removeActionListener(this); preprocess_input_orbital_elements(); evaluate_PHA(); display_orbital_elements(); } else if (source == display_physical_properties_b2) { display_physical_properties_b1.removeActionListener(this); display_physical_properties_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == compare_observations_1_b1) { compare_observations_1_b1.removeActionListener(this); compare_observations_1_b2.removeActionListener(this); mpc_catalog_reader(3); file_output_MPC_compare(); candidate_pointer = 0; display_candidates(); } else if (source == compare_observations_1_b2) { compare_observations_1_b1.removeActionListener(this); compare_observations_1_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_candidates_b1) { display_candidates_b1.removeActionListener(this); display_candidates_b2.removeActionListener(this); display_candidates_b3.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_candidates_b2) { display_candidates_b1.removeActionListener(this); display_candidates_b2.removeActionListener(this); display_candidates_b3.removeActionListener(this); candidate_pointer = candidate_pointer - 10; display_candidates(); } else if (source == display_candidates_b3) { display_candidates_b1.removeActionListener(this); display_candidates_b2.removeActionListener(this); display_candidates_b3.removeActionListener(this); candidate_pointer = candidate_pointer + 10; display_candidates(); } else if (source == sample_obs_MC_1_b1) { sample_obs_MC_1_b1.removeActionListener(this); sample_obs_MC_1_b2.removeActionListener(this); preprocess_MC_orbit(); display_obs_MC_1(); } else if (source == sample_obs_MC_1_b2) { sample_obs_MC_1_b1.removeActionListener(this); sample_obs_MC_1_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_obs_MC_1_b1) { display_obs_MC_1_b1.removeActionListener(this); display_obs_MC_1_b2.removeActionListener(this); display_obs_MC_1_b3.removeActionListener(this); display_obs_MC_1_b4.removeActionListener(this); display_obs_MC_1_b5.removeActionListener(this); display_obs_MC_1_b6.removeActionListener(this); qvse(); gp.run(); display_obs_MC_1(); } else if (source == display_obs_MC_1_b2) { display_obs_MC_1_b1.removeActionListener(this); display_obs_MC_1_b2.removeActionListener(this); display_obs_MC_1_b3.removeActionListener(this); display_obs_MC_1_b4.removeActionListener(this); display_obs_MC_1_b5.removeActionListener(this); display_obs_MC_1_b6.removeActionListener(this); qvsi(); gp.run(); display_obs_MC_1(); } else if (source == display_obs_MC_1_b3) { display_obs_MC_1_b1.removeActionListener(this); display_obs_MC_1_b2.removeActionListener(this); display_obs_MC_1_b3.removeActionListener(this); display_obs_MC_1_b4.removeActionListener(this); display_obs_MC_1_b5.removeActionListener(this); display_obs_MC_1_b6.removeActionListener(this); qvsw(); gp.run(); display_obs_MC_1(); } else if (source == display_obs_MC_1_b4) { display_obs_MC_1_b1.removeActionListener(this); display_obs_MC_1_b2.removeActionListener(this); display_obs_MC_1_b3.removeActionListener(this); display_obs_MC_1_b4.removeActionListener(this); display_obs_MC_1_b5.removeActionListener(this); display_obs_MC_1_b6.removeActionListener(this); qvsomega(); gp.run(); display_obs_MC_1(); } else if (source == display_obs_MC_1_b5) { display_obs_MC_1_b1.removeActionListener(this); display_obs_MC_1_b2.removeActionListener(this); display_obs_MC_1_b3.removeActionListener(this); display_obs_MC_1_b4.removeActionListener(this); display_obs_MC_1_b5.removeActionListener(this); display_obs_MC_1_b6.removeActionListener(this); qvsm(); gp.run(); display_obs_MC_1(); } else if (source == display_obs_MC_1_b6) { display_obs_MC_1_b1.removeActionListener(this); display_obs_MC_1_b2.removeActionListener(this); display_obs_MC_1_b3.removeActionListener(this); display_obs_MC_1_b4.removeActionListener(this); display_obs_MC_1_b5.removeActionListener(this); display_obs_MC_1_b6.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_ephemeris_1_b1) { display_ephemeris_1_b1.removeActionListener(this); display_ephemeris_1_b2.removeActionListener(this); display_ephemeris_1_b3.removeActionListener(this); preprocess_display_ephemeris(); format_ephemeris(); file_output_display_ephemeris(); display_ephemeris_2(); } else if (source == display_ephemeris_1_b2) { display_ephemeris_1_b1.removeActionListener(this); display_ephemeris_1_b2.removeActionListener(this); display_ephemeris_1_b3.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == display_ephemeris_1_b3) { display_ephemeris_1_b1.removeActionListener(this); display_ephemeris_1_b2.removeActionListener(this); display_ephemeris_1_b3.removeActionListener(this); preprocess_MC_ephemeris(); if (MC_ephem_counter > 1) { MC_ephem_display_counter ++; ravsdec(MC_ephem_display_counter); gp.run(); MC_ephem_toggle_display(); } else { ravsdec(1); gp.run(); edit_mp(mp.current_minor_planet); } } else if (source == MC_ephem_toggle_display_b1) { MC_ephem_toggle_display_b1.removeActionListener(this); MC_ephem_toggle_display_b2.removeActionListener(this); MC_ephem_display_counter ++; ravsdec(MC_ephem_display_counter); gp.run(); if (MC_ephem_display_counter < MC_ephem_counter) MC_ephem_toggle_display(); else edit_mp(mp.current_minor_planet); } else if (source == MC_ephem_toggle_display_b2) { MC_ephem_toggle_display_b1.removeActionListener(this); MC_ephem_toggle_display_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } else if (source == stat_ranging_inputs_b1) { stat_ranging_inputs_b1.removeActionListener(this); stat_ranging_inputs_b2.removeActionListener(this); preprocess_SR_orbit(); if (!SR_flag) display_obs_MC_1(); else stat_ranging_inputs(); } else if (source == stat_ranging_inputs_b2) { stat_ranging_inputs_b1.removeActionListener(this); stat_ranging_inputs_b2.removeActionListener(this); edit_mp(mp.current_minor_planet); } } public void buildConstraints(GridBagConstraints gbc, int gx, int gy, int gw, int gh, int wx, int wy, int component_fill, int component_anchor) { gbc.gridx = gx; gbc.gridy = gy; gbc.gridwidth = gw; gbc.gridheight = gh; gbc.weightx = wx; gbc.weighty = wy; gbc.fill = component_fill; gbc.anchor = component_anchor; } void level_one_menu() { /* This method creates the level one menu. It reuses the existing pane, which must be cleared and retitled. */ int i = 0; pane.removeAll(); setTitle("Level One Menu"); /* Define a layout manager for the pane */ GridBagLayout level_one_menu_layout = new GridBagLayout(); GridBagConstraints level_one_menu_constraints = new GridBagConstraints(); pane.setLayout(level_one_menu_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); /* Read the list of minor planets for use on this screen */ mp.read_mp_list_from_disk(); /* Clear the text field and choice lists, so that their contents from a previous call don't reappear */ level_one_menu_tf1.setText(""); level_one_menu_cl1.removeAllItems(); level_one_menu_cl2.removeAllItems(); /* Add constraints to level_one_menu_blank1, then add it to pane */ JLabel level_one_menu_blank1 = new JLabel(" "); buildConstraints(level_one_menu_constraints,0,0,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.EAST); level_one_menu_layout.setConstraints(level_one_menu_blank1,level_one_menu_constraints); level_one_menu_blank1.setFont(font_f); pane.add(level_one_menu_blank1); /* Add constraints to level_one_menu_blank2, then add it to pane */ JLabel level_one_menu_blank2 = new JLabel(" "); buildConstraints(level_one_menu_constraints,1,0,1,1,10,14,GridBagConstraints.NONE,GridBagConstraints.WEST); level_one_menu_layout.setConstraints(level_one_menu_blank2,level_one_menu_constraints); level_one_menu_blank2.setFont(font_f); pane.add(level_one_menu_blank2); /* Add constraints to level_one_menu_blank3, then add it to pane */ JLabel level_one_menu_blank3 = new JLabel(" "); buildConstraints(level_one_menu_constraints,2,0,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.EAST); level_one_menu_layout.setConstraints(level_one_menu_blank3,level_one_menu_constraints); level_one_menu_blank3.setFont(font_f); pane.add(level_one_menu_blank3); /* Add constraints to level_one_menu_blank4, then add it to pane */ JLabel level_one_menu_blank4 = new JLabel(" "); buildConstraints(level_one_menu_constraints,0,1,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.EAST); level_one_menu_layout.setConstraints(level_one_menu_blank4,level_one_menu_constraints); level_one_menu_blank4.setFont(font_f); pane.add(level_one_menu_blank4); /* Add constraints to level_one_menu_blank5, then add it to pane */ JLabel level_one_menu_blank5 = new JLabel(" "); buildConstraints(level_one_menu_constraints,1,1,1,1,10,14,GridBagConstraints.NONE,GridBagConstraints.WEST); level_one_menu_layout.setConstraints(level_one_menu_blank5,level_one_menu_constraints); level_one_menu_blank5.setFont(font_f); pane.add(level_one_menu_blank5); /* Add constraints to level_one_menu_blank6, then add it to pane */ JLabel level_one_menu_blank6 = new JLabel(" "); buildConstraints(level_one_menu_constraints,2,1,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.EAST); level_one_menu_layout.setConstraints(level_one_menu_blank6,level_one_menu_constraints); level_one_menu_blank6.setFont(font_f); pane.add(level_one_menu_blank6); /* Add constraints to level_one_menu_b1, add a listener, then add it to pane */ buildConstraints(level_one_menu_constraints,0,2,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.EAST); level_one_menu_layout.setConstraints(level_one_menu_b1,level_one_menu_constraints); level_one_menu_b1.addActionListener(this); level_one_menu_b1.setFont(font_f); pane.add(level_one_menu_b1); /* Add constraints to level_one_menu_selection1, then add it to pane */ JLabel level_one_menu_selection1 = new JLabel(" Create a new minor planet"); buildConstraints(level_one_menu_constraints,1,2,1,1,10,14,GridBagConstraints.NONE,GridBagConstraints.WEST); level_one_menu_layout.setConstraints(level_one_menu_selection1,level_one_menu_constraints); level_one_menu_selection1.setFont(font_f); pane.add(level_one_menu_selection1); /* Add constraints to level_one_menu_tf1, then add it to pane */ buildConstraints(level_one_menu_constraints,2,2,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.WEST); level_one_menu_layout.setConstraints(level_one_menu_tf1,level_one_menu_constraints); level_one_menu_tf1.setFont(font_f); pane.add(level_one_menu_tf1); /* Add constraints to level_one_menu_b2, add a listener, then add it to pane */ buildConstraints(level_one_menu_constraints,0,3,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.EAST); level_one_menu_layout.setConstraints(level_one_menu_b2,level_one_menu_constraints); level_one_menu_b2.addActionListener(this); level_one_menu_b2.setFont(font_f); pane.add(level_one_menu_b2); /* Add constraints to level_one_menu_selection2, then add it to pane */ JLabel level_one_menu_selection2 = new JLabel(" Edit an existing minor planet"); buildConstraints(level_one_menu_constraints,1,3,1,1,10,14,GridBagConstraints.NONE,GridBagConstraints.WEST); level_one_menu_layout.setConstraints(level_one_menu_selection2,level_one_menu_constraints); level_one_menu_selection2.setFont(font_f); pane.add(level_one_menu_selection2); /* Add constraints to level_one_menu_cl1, add the existing minor planets as choices, then add it to pane */ buildConstraints(level_one_menu_constraints,2,3,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.WEST); level_one_menu_layout.setConstraints(level_one_menu_cl1,level_one_menu_constraints); level_one_menu_cl1.setFont(font_f); for (i=1;i<=mp.number_of_minor_planets;i++) level_one_menu_cl1.addItem(mp.mp_list[i]); pane.add(level_one_menu_cl1); /* Add constraints to level_one_menu_b3, add a listener, then add it to pane */ buildConstraints(level_one_menu_constraints,0,4,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.EAST); level_one_menu_layout.setConstraints(level_one_menu_b3,level_one_menu_constraints); level_one_menu_b3.addActionListener(this); level_one_menu_b3.setFont(font_f); pane.add(level_one_menu_b3); /* Add constraints to level_one_menu_selection3, then add it to pane */ JLabel level_one_menu_selection3 = new JLabel(" Delete an existing minor planet"); buildConstraints(level_one_menu_constraints,1,4,1,1,10,14,GridBagConstraints.NONE,GridBagConstraints.WEST); level_one_menu_layout.setConstraints(level_one_menu_selection3,level_one_menu_constraints); level_one_menu_selection3.setFont(font_f); pane.add(level_one_menu_selection3); /* Add constraints to level_one_menu_cl2, add the existing minor planets as choices, then add it to pane */ buildConstraints(level_one_menu_constraints,2,4,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.WEST); level_one_menu_layout.setConstraints(level_one_menu_cl2,level_one_menu_constraints); level_one_menu_cl2.setFont(font_f); for (i=1;i<=mp.number_of_minor_planets;i++) level_one_menu_cl2.addItem(mp.mp_list[i]); pane.add(level_one_menu_cl2); /* Add constraints to level_one_menu_blank7, then add it to pane */ JLabel level_one_menu_blank7 = new JLabel(" "); buildConstraints(level_one_menu_constraints,0,5,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.EAST); level_one_menu_layout.setConstraints(level_one_menu_blank7,level_one_menu_constraints); level_one_menu_blank7.setFont(font_f); pane.add(level_one_menu_blank7); /* Add constraints to level_one_menu_blank8, then add it to pane */ JLabel level_one_menu_blank8 = new JLabel(" "); buildConstraints(level_one_menu_constraints,1,5,1,1,10,14,GridBagConstraints.NONE,GridBagConstraints.WEST); level_one_menu_layout.setConstraints(level_one_menu_blank8,level_one_menu_constraints); level_one_menu_blank8.setFont(font_f); pane.add(level_one_menu_blank8); /* Add constraints to level_one_menu_blank9, then add it to pane */ JLabel level_one_menu_blank9 = new JLabel(" "); buildConstraints(level_one_menu_constraints,2,5,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.EAST); level_one_menu_layout.setConstraints(level_one_menu_blank9,level_one_menu_constraints); level_one_menu_blank9.setFont(font_f); pane.add(level_one_menu_blank9); /* Add constraints to level_one_menu_blank10, then add it to pane */ JLabel level_one_menu_blank10 = new JLabel(" "); buildConstraints(level_one_menu_constraints,0,6,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.EAST); level_one_menu_layout.setConstraints(level_one_menu_blank10,level_one_menu_constraints); level_one_menu_blank10.setFont(font_f); pane.add(level_one_menu_blank10); /* Add constraints to level_one_menu_blank11, then add it to pane */ JLabel level_one_menu_blank11 = new JLabel(" "); buildConstraints(level_one_menu_constraints,1,6,1,1,10,14,GridBagConstraints.NONE,GridBagConstraints.WEST); level_one_menu_layout.setConstraints(level_one_menu_blank11,level_one_menu_constraints); level_one_menu_blank11.setFont(font_f); pane.add(level_one_menu_blank11); /* Add constraints to level_one_menu_blank12, then add it to pane */ JLabel level_one_menu_blank12 = new JLabel(" "); buildConstraints(level_one_menu_constraints,2,6,1,1,45,14,GridBagConstraints.NONE,GridBagConstraints.EAST); level_one_menu_layout.setConstraints(level_one_menu_blank12,level_one_menu_constraints); level_one_menu_blank12.setFont(font_f); pane.add(level_one_menu_blank12); setContentPane(pane); repaint(); } void add_mp(String selection) { /* This method adds a new minor planet to mp_list. It reuses the existing pane, which must be cleared and retitled. */ int i = 0, code = 0; String offspring = ""; pane.removeAll(); setTitle("Add a minor planet"); /* Define a layout manager for the pane */ GridBagLayout add_mp_layout = new GridBagLayout(); GridBagConstraints add_mp_constraints = new GridBagConstraints(); pane.setLayout(add_mp_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); /* Check the name of the new minor planet to be sure it is a legal file name; if not, modify it accordingly. */ for (i=0;i<=(selection.length()-1);i++) { code = (int)selection.charAt(i); if (((code > 47) && (code < 58)) || ((code > 64) && (code < 91)) || ((code > 96) && (code < 123))) offspring = offspring + selection.charAt(i); } selection = offspring; mp.current_minor_planet = offspring; /* Add the selected minor planet to mp_list, and write the updated list to disk */ mp.add_minor_planet_to_list(selection); mp.write_mp_list_to_disk(); /* Add constraints to add_mp_blank1, then add it to pane */ JLabel add_mp_blank1 = new JLabel(" "); buildConstraints(add_mp_constraints,0,0,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_mp_layout.setConstraints(add_mp_blank1,add_mp_constraints); add_mp_blank1.setFont(font_f); pane.add(add_mp_blank1); /* Add constraints to add_mp_blank2, then add it to pane */ JLabel add_mp_blank2 = new JLabel(" "); buildConstraints(add_mp_constraints,1,0,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_mp_layout.setConstraints(add_mp_blank2,add_mp_constraints); add_mp_blank2.setFont(font_f); pane.add(add_mp_blank2); /* Add constraints to add_mp_blank3, then add it to pane */ JLabel add_mp_blank3 = new JLabel(" "); buildConstraints(add_mp_constraints,0,1,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_mp_layout.setConstraints(add_mp_blank3,add_mp_constraints); add_mp_blank3.setFont(font_f); pane.add(add_mp_blank3); /* Add constraints to add_mp_response1, then add it to pane */ JLabel add_mp_response1 = new JLabel(("Minor planet " + selection + " has been added.")); buildConstraints(add_mp_constraints,0,2,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_mp_layout.setConstraints(add_mp_response1,add_mp_constraints); add_mp_response1.setFont(font_f); pane.add(add_mp_response1); /* Add constraints to add_mp_blank4, then add it to pane */ JLabel add_mp_blank4 = new JLabel(" "); buildConstraints(add_mp_constraints,0,3,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_mp_layout.setConstraints(add_mp_blank4,add_mp_constraints); add_mp_blank4.setFont(font_f); pane.add(add_mp_blank4); /* Add constraints to add_mp_b1, add a listener, then add it to pane */ buildConstraints(add_mp_constraints,0,4,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.EAST); add_mp_layout.setConstraints(add_mp_b1,add_mp_constraints); add_mp_b1.addActionListener(this); add_mp_b1.setFont(font_f); pane.add(add_mp_b1); /* Add constraints to add_mp_response2, then add it to pane */ JLabel add_mp_response2 = new JLabel((" Edit this new minor planet")); buildConstraints(add_mp_constraints,1,4,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.WEST); add_mp_layout.setConstraints(add_mp_response2,add_mp_constraints); add_mp_response2.setFont(font_f); pane.add(add_mp_response2); /* Add constraints to add_mp_b2, add a listener, then add it to pane */ buildConstraints(add_mp_constraints,0,5,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.EAST); add_mp_layout.setConstraints(add_mp_b2,add_mp_constraints); add_mp_b2.addActionListener(this); add_mp_b2.setFont(font_f); pane.add(add_mp_b2); /* Add constraints to add_mp_response3, then add it to pane */ JLabel add_mp_response3 = new JLabel((" Return to the Level One Menu")); buildConstraints(add_mp_constraints,1,5,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.WEST); add_mp_layout.setConstraints(add_mp_response3,add_mp_constraints); add_mp_response3.setFont(font_f); pane.add(add_mp_response3); /* Add constraints to add_mp_b3, add a listener, then add it to pane */ buildConstraints(add_mp_constraints,0,6,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.EAST); add_mp_layout.setConstraints(add_mp_b3,add_mp_constraints); add_mp_b3.addActionListener(this); add_mp_b3.setFont(font_f); pane.add(add_mp_b3); /* Add constraints to add_mp_response4, then add it to pane */ JLabel add_mp_response4 = new JLabel((" Execute an Expedited Comparison")); buildConstraints(add_mp_constraints,1,6,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.WEST); add_mp_layout.setConstraints(add_mp_response4,add_mp_constraints); add_mp_response4.setFont(font_f); pane.add(add_mp_response4); /* Add constraints to add_mp_blank5, then add it to pane */ JLabel add_mp_blank5 = new JLabel(" "); buildConstraints(add_mp_constraints,0,7,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_mp_layout.setConstraints(add_mp_blank5,add_mp_constraints); add_mp_blank5.setFont(font_f); pane.add(add_mp_blank5); setContentPane(pane); repaint(); } void delete_mp(String selection) { /* This method deletes a new minor planet from mp_list. It reuses the existing pane, which must be cleared and retitled. */ int i = 0; pane.removeAll(); setTitle("Delete a minor planet"); /* Define a layout manager for the pane */ GridBagLayout delete_mp_layout = new GridBagLayout(); GridBagConstraints delete_mp_constraints = new GridBagConstraints(); pane.setLayout(delete_mp_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); /* Delete the selected minor planet from mp_list, and write the updated list to disk */ mp.remove_minor_planet_from_list(selection); mp.write_mp_list_to_disk(); /* Add constraints to delete_mp_blank1, then add it to pane */ JLabel delete_mp_blank1 = new JLabel(" "); buildConstraints(delete_mp_constraints,0,0,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); delete_mp_layout.setConstraints(delete_mp_blank1,delete_mp_constraints); delete_mp_blank1.setFont(font_f); pane.add(delete_mp_blank1); /* Add constraints to delete_mp_blank2, then add it to pane */ JLabel delete_mp_blank2 = new JLabel(" "); buildConstraints(delete_mp_constraints,1,0,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); delete_mp_layout.setConstraints(delete_mp_blank2,delete_mp_constraints); delete_mp_blank2.setFont(font_f); pane.add(delete_mp_blank2); /* Add constraints to delete_mp_blank3, then add it to pane */ JLabel delete_mp_blank3 = new JLabel(" "); buildConstraints(delete_mp_constraints,0,1,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); delete_mp_layout.setConstraints(delete_mp_blank3,delete_mp_constraints); delete_mp_blank3.setFont(font_f); pane.add(delete_mp_blank3); /* Add constraints to delete_mp_response1, then add it to pane */ JLabel delete_mp_response1 = new JLabel(("Minor planet " + selection + " has been deleted.")); buildConstraints(delete_mp_constraints,0,2,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); delete_mp_layout.setConstraints(delete_mp_response1,delete_mp_constraints); delete_mp_response1.setFont(font_f); pane.add(delete_mp_response1); /* Add constraints to delete_mp_blank4, then add it to pane */ JLabel delete_mp_blank4 = new JLabel(" "); buildConstraints(delete_mp_constraints,0,3,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); delete_mp_layout.setConstraints(delete_mp_blank4,delete_mp_constraints); delete_mp_blank4.setFont(font_f); pane.add(delete_mp_blank4); /* Add constraints to delete_mp_blank6, then add it to pane */ JLabel delete_mp_blank6 = new JLabel(" "); buildConstraints(delete_mp_constraints,0,4,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); delete_mp_layout.setConstraints(delete_mp_blank6,delete_mp_constraints); delete_mp_blank6.setFont(font_f); pane.add(delete_mp_blank6); /* Add constraints to delete_mp_b1, add a listener, then add it to pane */ buildConstraints(delete_mp_constraints,0,5,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.EAST); delete_mp_layout.setConstraints(delete_mp_b1,delete_mp_constraints); delete_mp_b1.addActionListener(this); delete_mp_b1.setFont(font_f); pane.add(delete_mp_b1); /* Add constraints to delete_mp_response3, then add it to pane */ JLabel delete_mp_response3 = new JLabel((" Return to the Level One Menu")); buildConstraints(delete_mp_constraints,1,5,1,1,0,14,GridBagConstraints.NONE,GridBagConstraints.WEST); delete_mp_layout.setConstraints(delete_mp_response3,delete_mp_constraints); delete_mp_response3.setFont(font_f); pane.add(delete_mp_response3); /* Add constraints to delete_mp_blank5, then add it to pane */ JLabel delete_mp_blank5 = new JLabel(" "); buildConstraints(delete_mp_constraints,0,6,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); delete_mp_layout.setConstraints(delete_mp_blank5,delete_mp_constraints); delete_mp_blank5.setFont(font_f); pane.add(delete_mp_blank5); setContentPane(pane); repaint(); } void edit_mp(String selection) { /* This method provides choices for editing the mp.current_minor_planet. It reuses the existing pane, which must be cleared and retitled. */ int i = 0, j = 0, k = 0; pane.removeAll(); setTitle("Level Two Menu - minor planet " + mp.current_minor_planet); /* Define a layout manager for the pane */ GridBagLayout edit_mp_layout = new GridBagLayout(); GridBagConstraints edit_mp_constraints = new GridBagConstraints(); pane.setLayout(edit_mp_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); /* Before reading the data file of the selected minor planet, clear all attribute variables. For instance, if we have been working on a minor planet with a great many observations, and then move to a new minor planet with few or no observations, the later observations of the previous minor planet will remain in the arrays. More seriously, if the new minor planet does not yet have a calculated orbit, it will "inherit" the state vector of the previous minor planet. By clearing all attribute variables before reading the data file, we preserve the integrity of each minor planet's data. */ mp.comet_identifier = false; mp.epoch_time = 0.0; for (j=0;j<=3;j++) { mp.epoch_r[j] = 0.0; mp.epoch_rprime[j] = 0.0; mp.A1_A2_DT[j] = 0.0; } for (j=1;j<=8;j++) { for (k=1;k<=8;k++) mp.big_p[j][k] = 0.0; } mp.absolute_magnitude_H = 0; mp.slope_parameter_G = 0; mp.comet_absolute_magnitude = 0; mp.comet_slope_parameter = 0; mp.number_of_optical_observations = 0; mp.number_of_delay_observations = 0; mp.number_of_doppler_observations = 0; for (i=0;i<=8000;i++) { mp.observation_type[i] = 0; mp.incremental_state_vector_epoch[i] = 0.0; for (j=1;j<=3;j++) { mp.incremental_state_vector_r[i][j] = 0.0; mp.incremental_state_vector_rprime[i][j] = 0.0; } mp.optical_ra[i] = 0.0; mp.ra_dev[i] = 0.0; mp.optical_dec[i] = 0.0; mp.dec_dev[i] = 0.0; mp.optical_time[i] = 0.0; mp.visual_magnitude[i] = 0; mp.visual_magnitude_dev[i] = 0; mp.observation_geocentric[i] = false; mp.observation_latitude[i] = 0.0; mp.observation_longitude[i] = 0.0; mp.observation_altitude[i] = 0.0; for (j=1;j<=7;j++) mp.observation_EOP[i][j] = 0.0; for (j=1;j<=3;j++) { mp.observation_r[i][j] = 0.0; mp.observation_rprime[i][j] = 0.0; } mp.radar_delay[i] = 0.0; mp.delay_dev[i] = 0.0; mp.radar_delay_receiver_time[i] = 0.0; mp.radar_delay_receiver_latitude[i] = 0.0; mp.radar_delay_receiver_longitude[i] = 0.0; mp.radar_delay_receiver_altitude[i] = 0.0; for (j=1;j<=7;j++) mp.radar_delay_receiver_EOP[i][j] = 0.0; mp.radar_delay_receiver_tdb_minus_utc[i] = 0.0; for (j=1;j<=3;j++) { mp.radar_delay_receiver_r[i][j] = 0.0; mp.radar_delay_receiver_rprime[i][j] = 0.0; } mp.radar_delay_transmitter_latitude[i] = 0.0; mp.radar_delay_transmitter_longitude[i] = 0.0; mp.radar_delay_transmitter_altitude[i] = 0.0; for (j=1;j<=7;j++) mp.radar_delay_transmitter_EOP[i][j] = 0.0; mp.radar_delay_transmitter_tdb_minus_utc[i] = 0.0; mp.radar_delay_transmitter_frequency[i] = 0.0; mp.radar_doppler[i] = 0.0; mp.doppler_dev[i] = 0.0; mp.radar_doppler_receiver_time[i] = 0.0; mp.radar_doppler_receiver_latitude[i] = 0.0; mp.radar_doppler_receiver_longitude[i] = 0.0; mp.radar_doppler_receiver_altitude[i] = 0.0; for (j=1;j<=7;j++) mp.radar_doppler_receiver_EOP[i][j] = 0.0; mp.radar_doppler_receiver_tdb_minus_utc[i] = 0.0; for (j=1;j<=3;j++) { mp.radar_doppler_receiver_r[i][j] = 0.0; mp.radar_doppler_receiver_rprime[i][j] = 0.0; } mp.radar_doppler_transmitter_latitude[i] = 0.0; mp.radar_doppler_transmitter_longitude[i] = 0.0; mp.radar_doppler_transmitter_altitude[i] = 0.0; for (j=1;j<=7;j++) mp.radar_doppler_transmitter_EOP[i][j] = 0.0; mp.radar_doppler_transmitter_tdb_minus_utc[i] = 0.0; mp.radar_doppler_transmitter_frequency[i] = 0.0; } mp.minor_planet_radius = 0.0; /* The selected minor planet has already been made the current_minor_planet; read that minor planet's data from disk */ mp.read_data_from_disk(selection); /* Add constraints to edit_mp_b11, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,0,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b11,edit_mp_constraints); edit_mp_b11.addActionListener(this); edit_mp_b11.setFont(font_f); pane.add(edit_mp_b11); /* Add constraints to edit_mp_selection11, then add it to pane */ JLabel edit_mp_selection11 = new JLabel((" Designate " + mp.current_minor_planet + " as comet or asteroid")); buildConstraints(edit_mp_constraints,1,0,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection11,edit_mp_constraints); edit_mp_selection11.setFont(font_f); pane.add(edit_mp_selection11); /* Add constraints to edit_mp_b1, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,1,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b1,edit_mp_constraints); edit_mp_b1.addActionListener(this); edit_mp_b1.setFont(font_f); pane.add(edit_mp_b1); /* Add constraints to edit_mp_selection1, then add it to pane */ JLabel edit_mp_selection1 = new JLabel((" Add a new observation")); buildConstraints(edit_mp_constraints,1,1,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection1,edit_mp_constraints); edit_mp_selection1.setFont(font_f); pane.add(edit_mp_selection1); /* Add constraints to edit_mp_b2, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,2,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b2,edit_mp_constraints); edit_mp_b2.addActionListener(this); edit_mp_b2.setFont(font_f); pane.add(edit_mp_b2); /* Add constraints to edit_mp_selection2, then add it to pane */ JLabel edit_mp_selection2 = new JLabel((" Review/Delete existing observations")); buildConstraints(edit_mp_constraints,1,2,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection2,edit_mp_constraints); edit_mp_selection2.setFont(font_f); pane.add(edit_mp_selection2); /* Add constraints to edit_mp_b3, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,3,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b3,edit_mp_constraints); edit_mp_b3.addActionListener(this); edit_mp_b3.setFont(font_f); pane.add(edit_mp_b3); /* Add constraints to edit_mp_selection3, then add it to pane */ JLabel edit_mp_selection3 = new JLabel((" Compute/Evaluate/Propogate the orbit of this minor planet")); buildConstraints(edit_mp_constraints,1,3,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection3,edit_mp_constraints); edit_mp_selection3.setFont(font_f); pane.add(edit_mp_selection3); /* Add constraints to edit_mp_b4, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,4,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b4,edit_mp_constraints); edit_mp_b4.addActionListener(this); edit_mp_b4.setFont(font_f); pane.add(edit_mp_b4); /* Add constraints to edit_mp_selection4, then add it to pane */ JLabel edit_mp_selection4 = new JLabel((" Display current orbit")); buildConstraints(edit_mp_constraints,1,4,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection4,edit_mp_constraints); edit_mp_selection4.setFont(font_f); pane.add(edit_mp_selection4); /* Add constraints to edit_mp_b5, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,5,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b5,edit_mp_constraints); edit_mp_b5.addActionListener(this); edit_mp_b5.setFont(font_f); pane.add(edit_mp_b5); /* Add constraints to edit_mp_selection5, then add it to pane */ JLabel edit_mp_selection5 = new JLabel((" Manually specify an orbit for this minor planet")); buildConstraints(edit_mp_constraints,1,5,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection5,edit_mp_constraints); edit_mp_selection5.setFont(font_f); pane.add(edit_mp_selection5); /* Add constraints to edit_mp_b13, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,6,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b13,edit_mp_constraints); edit_mp_b13.addActionListener(this); edit_mp_b13.setFont(font_f); pane.add(edit_mp_b13); /* Add constraints to edit_mp_selection13, then add it to pane */ JLabel edit_mp_selection13 = new JLabel(" Import a minor planet from the MPCORBcr or COMET catalogs"); buildConstraints(edit_mp_constraints,1,6,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection13,edit_mp_constraints); edit_mp_selection13.setFont(font_f); pane.add(edit_mp_selection13); /* Add constraints to edit_mp_b12, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,7,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b12,edit_mp_constraints); edit_mp_b12.addActionListener(this); edit_mp_b12.setFont(font_f); pane.add(edit_mp_b12); /* Add constraints to edit_mp_selection12, then add it to pane */ JLabel edit_mp_selection12 = new JLabel((" Compare observations to positions of known minor planets")); buildConstraints(edit_mp_constraints,1,7,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection12,edit_mp_constraints); edit_mp_selection12.setFont(font_f); pane.add(edit_mp_selection12); /* Add constraints to edit_mp_b6, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,8,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b6,edit_mp_constraints); edit_mp_b6.addActionListener(this); edit_mp_b6.setFont(font_f); pane.add(edit_mp_b6); /* Add constraints to edit_mp_selection6, then add it to pane */ JLabel edit_mp_selection6 = new JLabel((" Generate an optical ephemeris")); buildConstraints(edit_mp_constraints,1,8,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection6,edit_mp_constraints); edit_mp_selection6.setFont(font_f); pane.add(edit_mp_selection6); /* Add constraints to edit_mp_b7, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,9,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b7,edit_mp_constraints); edit_mp_b7.addActionListener(this); edit_mp_b7.setFont(font_f); pane.add(edit_mp_b7); /* Add constraints to edit_mp_selection7, then add it to pane */ JLabel edit_mp_selection7 = new JLabel((" Check for collisions and/or near misses")); buildConstraints(edit_mp_constraints,1,9,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection7,edit_mp_constraints); edit_mp_selection7.setFont(font_f); pane.add(edit_mp_selection7); /* Add constraints to edit_mp_b8, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,10,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b8,edit_mp_constraints); edit_mp_b8.addActionListener(this); edit_mp_b8.setFont(font_f); pane.add(edit_mp_b8); /* Add constraints to edit_mp_selection8, then add it to pane */ JLabel edit_mp_selection8 = new JLabel((" Change the number of perturbing bodies for integrator")); buildConstraints(edit_mp_constraints,1,10,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection8,edit_mp_constraints); edit_mp_selection8.setFont(font_f); pane.add(edit_mp_selection8); /* Add constraints to edit_mp_b9, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,11,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b9,edit_mp_constraints); edit_mp_b9.addActionListener(this); edit_mp_b9.setFont(font_f); pane.add(edit_mp_b9); /* Add constraints to edit_mp_selection9, then add it to pane */ JLabel edit_mp_selection9 = new JLabel((" Specify the radius/visual brightness parameters")); buildConstraints(edit_mp_constraints,1,11,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection9,edit_mp_constraints); edit_mp_selection9.setFont(font_f); pane.add(edit_mp_selection9); /* Add constraints to edit_mp_blank3, then add it to pane */ JLabel edit_mp_blank3 = new JLabel(" "); buildConstraints(edit_mp_constraints,0,12,2,1,0,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); edit_mp_layout.setConstraints(edit_mp_blank3,edit_mp_constraints); edit_mp_blank3.setFont(font_f); pane.add(edit_mp_blank3); /* Add constraints to edit_mp_b10, add a listener, then add it to pane */ buildConstraints(edit_mp_constraints,0,13,1,1,70,8,GridBagConstraints.NONE,GridBagConstraints.EAST); edit_mp_layout.setConstraints(edit_mp_b10,edit_mp_constraints); edit_mp_b10.addActionListener(this); edit_mp_b10.setFont(font_f); pane.add(edit_mp_b10); /* Add constraints to edit_mp_selection10, then add it to pane */ JLabel edit_mp_selection10 = new JLabel((" Return to the Level One Menu")); buildConstraints(edit_mp_constraints,1,13,1,1,30,8,GridBagConstraints.NONE,GridBagConstraints.WEST); edit_mp_layout.setConstraints(edit_mp_selection10,edit_mp_constraints); edit_mp_selection10.setFont(font_f); pane.add(edit_mp_selection10); /* Add constraints to edit_mp_blank4, then add it to pane */ JLabel edit_mp_blank4 = new JLabel(" "); buildConstraints(edit_mp_constraints,0,14,2,1,0,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); edit_mp_layout.setConstraints(edit_mp_blank4,edit_mp_constraints); edit_mp_blank4.setFont(font_f); pane.add(edit_mp_blank4); setContentPane(pane); repaint(); } void add_obs() { /* This method allows the user to select between adding an optical or radar observation. It reuses the existing pane, which must be cleared and retitled. */ int i = 0; pane.removeAll(); setTitle("minor planet " + mp.current_minor_planet); /* Define a layout manager for the pane */ GridBagLayout add_obs_layout = new GridBagLayout(); GridBagConstraints add_obs_constraints = new GridBagConstraints(); pane.setLayout(add_obs_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); /* Add constraints to add_obs_blank1, then add it to pane */ JLabel add_obs_blank1 = new JLabel(" "); buildConstraints(add_obs_constraints,0,0,1,1,60,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_obs_layout.setConstraints(add_obs_blank1,add_obs_constraints); add_obs_blank1.setFont(font_f); pane.add(add_obs_blank1); /* Add constraints to add_obs_blank2, then add it to pane */ JLabel add_obs_blank2 = new JLabel(" "); buildConstraints(add_obs_constraints,1,0,1,1,40,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_obs_layout.setConstraints(add_obs_blank2,add_obs_constraints); add_obs_blank2.setFont(font_f); pane.add(add_obs_blank2); /* Add constraints to add_obs_blank3, then add it to pane */ JLabel add_obs_blank3 = new JLabel(" "); buildConstraints(add_obs_constraints,0,1,2,1,30,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_obs_layout.setConstraints(add_obs_blank3,add_obs_constraints); add_obs_blank3.setFont(font_f); pane.add(add_obs_blank3); /* Add constraints to add_obs_b1, add a listener, then add it to pane */ buildConstraints(add_obs_constraints,0,2,1,1,60,14,GridBagConstraints.NONE,GridBagConstraints.EAST); add_obs_layout.setConstraints(add_obs_b1,add_obs_constraints); add_obs_b1.addActionListener(this); add_obs_b1.setFont(font_f); pane.add(add_obs_b1); /* Add constraints to add_obs_selection1, then add it to pane */ JLabel add_obs_selection1 = new JLabel((" Add an optical observation")); buildConstraints(add_obs_constraints,1,2,1,1,40,14,GridBagConstraints.NONE,GridBagConstraints.WEST); add_obs_layout.setConstraints(add_obs_selection1,add_obs_constraints); add_obs_selection1.setFont(font_f); pane.add(add_obs_selection1); /* Add constraints to add_obs_blank4, then add it to pane */ JLabel add_obs_blank4 = new JLabel(" "); buildConstraints(add_obs_constraints,0,3,2,1,30,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_obs_layout.setConstraints(add_obs_blank4,add_obs_constraints); add_obs_blank4.setFont(font_f); pane.add(add_obs_blank4); /* Add constraints to add_obs_b2, add a listener, then add it to pane */ buildConstraints(add_obs_constraints,0,4,1,1,60,14,GridBagConstraints.NONE,GridBagConstraints.EAST); add_obs_layout.setConstraints(add_obs_b2,add_obs_constraints); add_obs_b2.addActionListener(this); add_obs_b2.setFont(font_f); pane.add(add_obs_b2); /* Add constraints to add_obs_selection2, then add it to pane */ JLabel add_obs_selection2 = new JLabel((" Add a radar observation")); buildConstraints(add_obs_constraints,1,4,1,1,40,14,GridBagConstraints.NONE,GridBagConstraints.WEST); add_obs_layout.setConstraints(add_obs_selection2,add_obs_constraints); add_obs_selection2.setFont(font_f); pane.add(add_obs_selection2); /* Add constraints to add_obs_blank5, then add it to pane */ JLabel add_obs_blank5 = new JLabel(" "); buildConstraints(add_obs_constraints,0,5,2,1,30,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_obs_layout.setConstraints(add_obs_blank5,add_obs_constraints); add_obs_blank5.setFont(font_f); pane.add(add_obs_blank5); /* Add constraints to add_obs_b3, add a listener, then add it to pane */ buildConstraints(add_obs_constraints,0,6,1,1,60,14,GridBagConstraints.NONE,GridBagConstraints.EAST); add_obs_layout.setConstraints(add_obs_b3,add_obs_constraints); add_obs_b3.addActionListener(this); add_obs_b3.setFont(font_f); pane.add(add_obs_b3); /* Add constraints to add_obs_selection3, then add it to pane */ JLabel add_obs_selection3 = new JLabel((" Read observations from an MPEC or MPCOBS file")); buildConstraints(add_obs_constraints,1,6,1,1,40,14,GridBagConstraints.NONE,GridBagConstraints.WEST); add_obs_layout.setConstraints(add_obs_selection3,add_obs_constraints); add_obs_selection3.setFont(font_f); pane.add(add_obs_selection3); /* Add constraints to add_obs_blank7, then add it to pane */ JLabel add_obs_blank7 = new JLabel(" "); buildConstraints(add_obs_constraints,0,7,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_obs_layout.setConstraints(add_obs_blank7,add_obs_constraints); add_obs_blank7.setFont(font_f); pane.add(add_obs_blank7); /* Add constraints to add_obs_b4, add a listener, then add it to pane */ buildConstraints(add_obs_constraints,0,8,1,1,60,14,GridBagConstraints.NONE,GridBagConstraints.EAST); add_obs_layout.setConstraints(add_obs_b4,add_obs_constraints); add_obs_b4.addActionListener(this); add_obs_b4.setFont(font_f); pane.add(add_obs_b4); /* Add constraints to add_obs_selection4, then add it to pane */ JLabel add_obs_selection4 = new JLabel((" Read observations from a NEODyS file")); buildConstraints(add_obs_constraints,1,8,1,1,40,14,GridBagConstraints.NONE,GridBagConstraints.WEST); add_obs_layout.setConstraints(add_obs_selection4,add_obs_constraints); add_obs_selection4.setFont(font_f); pane.add(add_obs_selection4); /* Add constraints to add_obs_blank9, then add it to pane */ JLabel add_obs_blank9 = new JLabel(" "); buildConstraints(add_obs_constraints,0,9,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_obs_layout.setConstraints(add_obs_blank9,add_obs_constraints); add_obs_blank9.setFont(font_f); pane.add(add_obs_blank9); /* Add constraints to add_obs_blank10, then add it to pane */ JLabel add_obs_blank10 = new JLabel(" "); buildConstraints(add_obs_constraints,0,10,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_obs_layout.setConstraints(add_obs_blank10,add_obs_constraints); add_obs_blank10.setFont(font_f); pane.add(add_obs_blank10); /* Add constraints to add_obs_b5, add a listener, then add it to pane */ buildConstraints(add_obs_constraints,0,11,1,1,60,14,GridBagConstraints.NONE,GridBagConstraints.EAST); add_obs_layout.setConstraints(add_obs_b5,add_obs_constraints); add_obs_b5.addActionListener(this); add_obs_b5.setFont(font_f); pane.add(add_obs_b5); /* Add constraints to add_obs_selection5, then add it to pane */ JLabel add_obs_selection5 = new JLabel((" Cancel - Return to Level Two Menu")); buildConstraints(add_obs_constraints,1,11,1,1,40,14,GridBagConstraints.NONE,GridBagConstraints.WEST); add_obs_layout.setConstraints(add_obs_selection5,add_obs_constraints); add_obs_selection5.setFont(font_f); pane.add(add_obs_selection5); /* Add constraints to add_obs_blank12, then add it to pane */ JLabel add_obs_blank12 = new JLabel(" "); buildConstraints(add_obs_constraints,0,12,2,1,0,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_obs_layout.setConstraints(add_obs_blank12,add_obs_constraints); add_obs_blank12.setFont(font_f); pane.add(add_obs_blank12); setContentPane(pane); repaint(); } void add_optical_obs_1() { /* This method provides a screen to enter the time, ra and dec of an optical observation. It reuses the existing pane, which must be cleared and retitled. */ int i = 0; pane.removeAll(); setTitle("minor planet " + mp.current_minor_planet); /* Clear the text fields, so that their contents from a previous call don't reappear */ /* add_optical_obs_1_tf1.setText("0"); add_optical_obs_1_tf2.setText("0"); add_optical_obs_1_tf3.setText("0"); add_optical_obs_1_tf4.setText("0"); add_optical_obs_1_tf5.setText("0"); add_optical_obs_1_tf6.setText("0"); add_optical_obs_1_tf7.setText("0"); add_optical_obs_1_tf8.setText("0"); add_optical_obs_1_tf9.setText("0"); add_optical_obs_1_tf10.setText("0"); add_optical_obs_1_tf11.setText("0"); add_optical_obs_1_tf12.setText("0"); add_optical_obs_1_tf13.setText("0"); add_optical_obs_1_tf14.setText("0"); */ /* Define a layout manager for the pane */ GridBagLayout add_optical_obs_1_layout = new GridBagLayout(); GridBagConstraints add_optical_obs_1_constraints = new GridBagConstraints(); pane.setLayout(add_optical_obs_1_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); Font font_g = new Font("monospaced",Font.BOLD,12); Font font_h = new Font("monospaced",Font.BOLD,14); /* Add constraints to add_optical_obs_1_blank1a, then add it to pane */ /* JLabel add_optical_obs_1_blank1a = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,0,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank1a,add_optical_obs_1_constraints); add_optical_obs_1_blank1a.setFont(font_f); pane.add(add_optical_obs_1_blank1a); */ /* Add constraints to add_optical_obs_1_label1a, then add it to pane */ JLabel add_optical_obs_1_label1a = new JLabel(("Optical Observation")); buildConstraints(add_optical_obs_1_constraints,0,0,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label1a,add_optical_obs_1_constraints); add_optical_obs_1_label1a.setFont(font_h); pane.add(add_optical_obs_1_label1a); /* Add constraints to add_optical_obs_1_blank1b, then add it to pane */ /* JLabel add_optical_obs_1_blank1b = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,10,0,10,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank1b,add_optical_obs_1_constraints); add_optical_obs_1_blank1b.setFont(font_f); pane.add(add_optical_obs_1_blank1b); */ /* Add constraints to add_optical_obs_1_blank2, then add it to pane */ JLabel add_optical_obs_1_blank2 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,1,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank2,add_optical_obs_1_constraints); add_optical_obs_1_blank2.setFont(font_f); pane.add(add_optical_obs_1_blank2); /* Add constraints to add_optical_obs_1_label1, then add it to pane */ JLabel add_optical_obs_1_label1 = new JLabel(("UTC date")); buildConstraints(add_optical_obs_1_constraints,0,2,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label1,add_optical_obs_1_constraints); add_optical_obs_1_label1.setFont(font_g); pane.add(add_optical_obs_1_label1); /* Add constraints to add_optical_obs_1_tf1, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,6,2,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf1,add_optical_obs_1_constraints); add_optical_obs_1_tf1.setFont(font_f); pane.add(add_optical_obs_1_tf1); /* Add constraints to add_optical_obs_1_label2a, then add it to pane */ JLabel add_optical_obs_1_label2a = new JLabel((" year")); buildConstraints(add_optical_obs_1_constraints,9,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label2a,add_optical_obs_1_constraints); add_optical_obs_1_label2a.setFont(font_f); pane.add(add_optical_obs_1_label2a); /* Add constraints to add_optical_obs_1_tf13, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,11,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf13,add_optical_obs_1_constraints); add_optical_obs_1_tf13.setFont(font_f); pane.add(add_optical_obs_1_tf13); /* Add constraints to add_optical_obs_1_label1b, then add it to pane */ JLabel add_optical_obs_1_label1b = new JLabel((" month")); buildConstraints(add_optical_obs_1_constraints,12,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label1b,add_optical_obs_1_constraints); add_optical_obs_1_label1b.setFont(font_f); pane.add(add_optical_obs_1_label1b); /* Add constraints to add_optical_obs_1_tf14, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,14,2,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf14,add_optical_obs_1_constraints); add_optical_obs_1_tf14.setFont(font_f); pane.add(add_optical_obs_1_tf14); /* Add constraints to add_optical_obs_1_label1c, then add it to pane */ JLabel add_optical_obs_1_label1c = new JLabel((" day.ddddd")); buildConstraints(add_optical_obs_1_constraints,17,2,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label1c,add_optical_obs_1_constraints); add_optical_obs_1_label1c.setFont(font_f); pane.add(add_optical_obs_1_label1c); /* Add constraints to add_optical_obs_1_blank3, then add it to pane */ /* JLabel add_optical_obs_1_blank3 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,18,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank3,add_optical_obs_1_constraints); add_optical_obs_1_blank3.setFont(font_f); pane.add(add_optical_obs_1_blank3); */ /* Add constraints to add_optical_obs_1_blank4, then add it to pane */ JLabel add_optical_obs_1_blank4 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,3,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank4,add_optical_obs_1_constraints); add_optical_obs_1_blank4.setFont(font_f); pane.add(add_optical_obs_1_blank4); /* Add constraints to add_optical_obs_1_blank5, then add it to pane */ /* JLabel add_optical_obs_1_blank5 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank5,add_optical_obs_1_constraints); add_optical_obs_1_blank5.setFont(font_f); pane.add(add_optical_obs_1_blank5); */ /* Add constraints to add_optical_obs_1_label2, then add it to pane */ JLabel add_optical_obs_1_label2 = new JLabel(("Astrometric Right Ascension")); buildConstraints(add_optical_obs_1_constraints,0,4,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label2,add_optical_obs_1_constraints); add_optical_obs_1_label2.setFont(font_g); pane.add(add_optical_obs_1_label2); /* Add constraints to add_optical_obs_1_blank6, then add it to pane */ JLabel add_optical_obs_1_blank6 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,5,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank6,add_optical_obs_1_constraints); add_optical_obs_1_blank6.setFont(font_f); pane.add(add_optical_obs_1_blank6); /* Add constraints to add_optical_obs_1_tf2, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,6,4,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf2,add_optical_obs_1_constraints); add_optical_obs_1_tf2.setFont(font_f); pane.add(add_optical_obs_1_tf2); /* Add constraints to add_optical_obs_1_label3, then add it to pane */ JLabel add_optical_obs_1_label3 = new JLabel((" hours")); buildConstraints(add_optical_obs_1_constraints,9,4,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label3,add_optical_obs_1_constraints); add_optical_obs_1_label3.setFont(font_f); pane.add(add_optical_obs_1_label3); /* Add constraints to add_optical_obs_1_blank7, then add it to pane */ /* JLabel add_optical_obs_1_blank7 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,10,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank7,add_optical_obs_1_constraints); add_optical_obs_1_blank7.setFont(font_f); pane.add(add_optical_obs_1_blank7); */ /* Add constraints to add_optical_obs_1_tf3, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,11,4,1,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf3,add_optical_obs_1_constraints); add_optical_obs_1_tf3.setFont(font_f); pane.add(add_optical_obs_1_tf3); /* Add constraints to add_optical_obs_1_label4, then add it to pane */ JLabel add_optical_obs_1_label4 = new JLabel((" minutes")); buildConstraints(add_optical_obs_1_constraints,12,4,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label4,add_optical_obs_1_constraints); add_optical_obs_1_label4.setFont(font_f); pane.add(add_optical_obs_1_label4); /* Add constraints to add_optical_obs_1_blank8, then add it to pane */ JLabel add_optical_obs_1_blank8 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,14,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank8,add_optical_obs_1_constraints); add_optical_obs_1_blank8.setFont(font_f); pane.add(add_optical_obs_1_blank8); /* Add constraints to add_optical_obs_1_tf4, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,15,4,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf4,add_optical_obs_1_constraints); add_optical_obs_1_tf4.setFont(font_f); pane.add(add_optical_obs_1_tf4); /* Add constraints to add_optical_obs_1_label5, then add it to pane */ JLabel add_optical_obs_1_label5 = new JLabel((" seconds")); buildConstraints(add_optical_obs_1_constraints,17,4,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label5,add_optical_obs_1_constraints); add_optical_obs_1_label5.setFont(font_f); pane.add(add_optical_obs_1_label5); /* Add constraints to add_optical_obs_1_blank9, then add it to pane */ JLabel add_optical_obs_1_blank9 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,19,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank9,add_optical_obs_1_constraints); add_optical_obs_1_blank9.setFont(font_f); pane.add(add_optical_obs_1_blank9); /* Add constraints to add_optical_obs_1_blank10, then add it to pane */ JLabel add_optical_obs_1_blank10 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,5,11,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank10,add_optical_obs_1_constraints); add_optical_obs_1_blank10.setFont(font_f); pane.add(add_optical_obs_1_blank10); /* Add constraints to add_optical_obs_1_label6, then add it to pane */ JLabel add_optical_obs_1_label6 = new JLabel(("Uncertainty")); buildConstraints(add_optical_obs_1_constraints,11,5,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label6,add_optical_obs_1_constraints); add_optical_obs_1_label6.setFont(font_g); pane.add(add_optical_obs_1_label6); /* Add constraints to add_optical_obs_1_blank64, then add it to pane */ JLabel add_optical_obs_1_blank64 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,14,5,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank64,add_optical_obs_1_constraints); add_optical_obs_1_blank64.setFont(font_f); pane.add(add_optical_obs_1_blank64); /* Add constraints to add_optical_obs_1_tf5, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,15,5,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf5,add_optical_obs_1_constraints); add_optical_obs_1_tf5.setFont(font_f); pane.add(add_optical_obs_1_tf5); /* Add constraints to add_optical_obs_1_label7, then add it to pane */ JLabel add_optical_obs_1_label7 = new JLabel((" arc secs")); buildConstraints(add_optical_obs_1_constraints,17,5,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label7,add_optical_obs_1_constraints); add_optical_obs_1_label7.setFont(font_f); pane.add(add_optical_obs_1_label7); /* Add constraints to add_optical_obs_1_blank11, then add it to pane */ JLabel add_optical_obs_1_blank11 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,19,5,1,1,8,7,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank11,add_optical_obs_1_constraints); add_optical_obs_1_blank11.setFont(font_f); pane.add(add_optical_obs_1_blank11); /* Add constraints to add_optical_obs_1_blank12, then add it to pane */ JLabel add_optical_obs_1_blank12 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,6,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank12,add_optical_obs_1_constraints); add_optical_obs_1_blank12.setFont(font_f); pane.add(add_optical_obs_1_blank12); /* Add constraints to add_optical_obs_1_blank13, then add it to pane */ /* JLabel add_optical_obs_1_blank13 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,7,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank13,add_optical_obs_1_constraints); add_optical_obs_1_blank13.setFont(font_f); pane.add(add_optical_obs_1_blank13); */ /* Add constraints to add_optical_obs_1_label8, then add it to pane */ JLabel add_optical_obs_1_label8 = new JLabel(("Astrometric Declination")); buildConstraints(add_optical_obs_1_constraints,0,7,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label8,add_optical_obs_1_constraints); add_optical_obs_1_label8.setFont(font_g); pane.add(add_optical_obs_1_label8); /* Add constraints to add_optical_obs_1_blank14, then add it to pane */ JLabel add_optical_obs_1_blank14 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,5,7,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank14,add_optical_obs_1_constraints); add_optical_obs_1_blank14.setFont(font_f); pane.add(add_optical_obs_1_blank14); /* Add constraints to add_optical_obs_1_tf6, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,6,7,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf6,add_optical_obs_1_constraints); add_optical_obs_1_tf6.setFont(font_f); pane.add(add_optical_obs_1_tf6); /* Add constraints to add_optical_obs_1_label9, then add it to pane */ JLabel add_optical_obs_1_label9 = new JLabel((" deg")); buildConstraints(add_optical_obs_1_constraints,9,7,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label9,add_optical_obs_1_constraints); add_optical_obs_1_label9.setFont(font_f); pane.add(add_optical_obs_1_label9); /* Add constraints to add_optical_obs_1_blank15, then add it to pane */ JLabel add_optical_obs_1_blank15 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,10,7,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank15,add_optical_obs_1_constraints); add_optical_obs_1_blank15.setFont(font_f); pane.add(add_optical_obs_1_blank15); /* Add constraints to add_optical_obs_1_tf7, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,11,7,1,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf7,add_optical_obs_1_constraints); add_optical_obs_1_tf7.setFont(font_f); pane.add(add_optical_obs_1_tf7); /* Add constraints to add_optical_obs_1_label10, then add it to pane */ JLabel add_optical_obs_1_label10 = new JLabel((" arc mins")); buildConstraints(add_optical_obs_1_constraints,12,7,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label10,add_optical_obs_1_constraints); add_optical_obs_1_label10.setFont(font_f); pane.add(add_optical_obs_1_label10); /* Add constraints to add_optical_obs_1_blank16, then add it to pane */ /* JLabel add_optical_obs_1_blank16 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,14,7,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank16,add_optical_obs_1_constraints); add_optical_obs_1_blank16.setFont(font_f); pane.add(add_optical_obs_1_blank16); */ /* Add constraints to add_optical_obs_1_tf8, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,15,7,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf8,add_optical_obs_1_constraints); add_optical_obs_1_tf8.setFont(font_f); pane.add(add_optical_obs_1_tf8); /* Add constraints to add_optical_obs_1_label11, then add it to pane */ JLabel add_optical_obs_1_label11 = new JLabel((" arc secs")); buildConstraints(add_optical_obs_1_constraints,17,7,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label11,add_optical_obs_1_constraints); add_optical_obs_1_label11.setFont(font_f); pane.add(add_optical_obs_1_label11); /* Add constraints to add_optical_obs_1_blank17, then add it to pane */ JLabel add_optical_obs_1_blank17 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,19,7,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank17,add_optical_obs_1_constraints); add_optical_obs_1_blank17.setFont(font_f); pane.add(add_optical_obs_1_blank17); /* Add constraints to add_optical_obs_1_blank18, then add it to pane */ JLabel add_optical_obs_1_blank18 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,8,11,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank18,add_optical_obs_1_constraints); add_optical_obs_1_blank18.setFont(font_f); pane.add(add_optical_obs_1_blank18); /* Add constraints to add_optical_obs_1_label12, then add it to pane */ JLabel add_optical_obs_1_label12 = new JLabel(("Uncertainty")); buildConstraints(add_optical_obs_1_constraints,11,8,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label12,add_optical_obs_1_constraints); add_optical_obs_1_label12.setFont(font_g); pane.add(add_optical_obs_1_label12); /* Add constraints to add_optical_obs_1_blank19, then add it to pane */ JLabel add_optical_obs_1_blank19 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,14,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank19,add_optical_obs_1_constraints); add_optical_obs_1_blank19.setFont(font_f); pane.add(add_optical_obs_1_blank19); /* Add constraints to add_optical_obs_1_tf9, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,15,8,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf9,add_optical_obs_1_constraints); add_optical_obs_1_tf9.setFont(font_f); pane.add(add_optical_obs_1_tf9); /* Add constraints to add_optical_obs_1_label13, then add it to pane */ JLabel add_optical_obs_1_label13 = new JLabel((" arc secs")); buildConstraints(add_optical_obs_1_constraints,17,8,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label13,add_optical_obs_1_constraints); add_optical_obs_1_label13.setFont(font_f); pane.add(add_optical_obs_1_label13); /* Add constraints to add_optical_obs_1_blank20, then add it to pane */ /* JLabel add_optical_obs_1_blank20 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,11,8,1,1,8,7,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank20,add_optical_obs_1_constraints); add_optical_obs_1_blank20.setFont(font_f); pane.add(add_optical_obs_1_blank20); */ /* Add constraints to add_optical_obs_1_blank21, then add it to pane */ JLabel add_optical_obs_1_blank21 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,9,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank21,add_optical_obs_1_constraints); add_optical_obs_1_blank21.setFont(font_f); pane.add(add_optical_obs_1_blank21); /* Add constraints to add_optical_obs_1_label9axx, then add it to pane */ JLabel add_optical_obs_1_label9axx = new JLabel("Visual Magnitude"); buildConstraints(add_optical_obs_1_constraints,0,10,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label9axx,add_optical_obs_1_constraints); add_optical_obs_1_label9axx.setFont(font_g); pane.add(add_optical_obs_1_label9axx); /* Add constraints to add_optical_obs_1_blank9bxx, then add it to pane */ JLabel add_optical_obs_1_blank9bxx = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,5,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank9bxx,add_optical_obs_1_constraints); add_optical_obs_1_blank9bxx.setFont(font_f); pane.add(add_optical_obs_1_blank9bxx); /* Add constraints to add_optical_obs_1_tf12, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,6,10,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf12,add_optical_obs_1_constraints); add_optical_obs_1_tf12.setFont(font_f); pane.add(add_optical_obs_1_tf12); /* Add constraints to add_optical_obs_1_blank9cxx, then add it to pane */ JLabel add_optical_obs_1_blank9cxx = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,9,10,11,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank9cxx,add_optical_obs_1_constraints); add_optical_obs_1_blank9cxx.setFont(font_f); pane.add(add_optical_obs_1_blank9cxx); /* Add constraints to add_optical_obs_1_blank10xx, then add it to pane */ JLabel add_optical_obs_1_blank10xx = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,11,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank10xx,add_optical_obs_1_constraints); add_optical_obs_1_blank10xx.setFont(font_f); pane.add(add_optical_obs_1_blank10xx); /* Add constraints to add_optical_obs_1_blank22, then add it to pane */ JLabel add_optical_obs_1_blank22 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,12,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank22,add_optical_obs_1_constraints); add_optical_obs_1_blank22.setFont(font_f); pane.add(add_optical_obs_1_blank22); /* Add constraints to add_optical_obs_1_label14, then add it to pane */ JLabel add_optical_obs_1_label14 = new JLabel(("Catalog")); buildConstraints(add_optical_obs_1_constraints,2,12,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label14,add_optical_obs_1_constraints); add_optical_obs_1_label14.setFont(font_g); pane.add(add_optical_obs_1_label14); /* Add constraints to add_optical_obs_1_blank23, then add it to pane */ JLabel add_optical_obs_1_blank23 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,4,12,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank23,add_optical_obs_1_constraints); add_optical_obs_1_blank23.setFont(font_f); pane.add(add_optical_obs_1_blank23); /* Add constraints to add_optical_obs_1_FK5, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,5,12,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_FK5,add_optical_obs_1_constraints); add_optical_obs_1_FK5.setFont(font_f); pane.add(add_optical_obs_1_FK5); /* Add constraints to add_optical_obs_1_blank24, then add it to pane */ /* JLabel add_optical_obs_1_blank24 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,7,12,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank24,add_optical_obs_1_constraints); add_optical_obs_1_blank24.setFont(font_f); pane.add(add_optical_obs_1_blank24); */ /* Add constraints to add_optical_obs_1_FK4, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,8,12,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_FK4,add_optical_obs_1_constraints); add_optical_obs_1_FK4.setFont(font_f); pane.add(add_optical_obs_1_FK4); /* Add constraints to add_optical_obs_1_blank25, then add it to pane */ JLabel add_optical_obs_1_blank25 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,10,12,10,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank25,add_optical_obs_1_constraints); add_optical_obs_1_blank25.setFont(font_f); pane.add(add_optical_obs_1_blank25); /* Add constraints to add_optical_obs_1_blank26, then add it to pane */ JLabel add_optical_obs_1_blank26 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,13,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank26,add_optical_obs_1_constraints); add_optical_obs_1_blank26.setFont(font_f); pane.add(add_optical_obs_1_blank26); /* Add constraints to add_optical_obs_1_label15, then add it to pane */ JLabel add_optical_obs_1_label15 = new JLabel(("Epoch")); buildConstraints(add_optical_obs_1_constraints,2,13,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label15,add_optical_obs_1_constraints); add_optical_obs_1_label15.setFont(font_g); pane.add(add_optical_obs_1_label15); /* Add constraints to add_optical_obs_1_blank27, then add it to pane */ JLabel add_optical_obs_1_blank27 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,4,13,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank27,add_optical_obs_1_constraints); add_optical_obs_1_blank27.setFont(font_f); pane.add(add_optical_obs_1_blank27); /* Add constraints to add_optical_obs_1_j2000, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,5,13,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_j2000,add_optical_obs_1_constraints); add_optical_obs_1_j2000.setFont(font_f); pane.add(add_optical_obs_1_j2000); /* Add constraints to add_optical_obs_1_blank28, then add it to pane */ JLabel add_optical_obs_1_blank28 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,7,13,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank28,add_optical_obs_1_constraints); add_optical_obs_1_blank28.setFont(font_f); pane.add(add_optical_obs_1_blank28); /* Add constraints to add_optical_obs_1_b1950, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,8,13,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_b1950,add_optical_obs_1_constraints); add_optical_obs_1_b1950.setFont(font_f); pane.add(add_optical_obs_1_b1950); /* Add constraints to add_optical_obs_1_blank29, then add it to pane */ JLabel add_optical_obs_1_blank29 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,10,13,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank29,add_optical_obs_1_constraints); add_optical_obs_1_blank29.setFont(font_f); pane.add(add_optical_obs_1_blank29); /* Add constraints to add_optical_obs_1_j, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,11,13,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_j,add_optical_obs_1_constraints); add_optical_obs_1_j.setFont(font_f); pane.add(add_optical_obs_1_j); /* Add constraints to add_optical_obs_1_tf10, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,12,13,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf10,add_optical_obs_1_constraints); add_optical_obs_1_tf10.setFont(font_f); pane.add(add_optical_obs_1_tf10); /* Add constraints to add_optical_obs_1_blank30, then add it to pane */ JLabel add_optical_obs_1_blank30 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,14,13,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank30,add_optical_obs_1_constraints); add_optical_obs_1_blank30.setFont(font_f); pane.add(add_optical_obs_1_blank30); /* Add constraints to add_optical_obs_1_b, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,15,13,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_b,add_optical_obs_1_constraints); add_optical_obs_1_b.setFont(font_f); pane.add(add_optical_obs_1_b); /* Add constraints to add_optical_obs_1_tf11, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,16,13,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_tf11,add_optical_obs_1_constraints); add_optical_obs_1_tf11.setFont(font_f); pane.add(add_optical_obs_1_tf11); /* Add constraints to add_optical_obs_1_blank31, then add it to pane */ JLabel add_optical_obs_1_blank31 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,18,13,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank31,add_optical_obs_1_constraints); add_optical_obs_1_blank31.setFont(font_f); pane.add(add_optical_obs_1_blank31); /* Add constraints to add_optical_obs_1_blank32, then add it to pane */ JLabel add_optical_obs_1_blank32 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,14,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank32,add_optical_obs_1_constraints); add_optical_obs_1_blank32.setFont(font_f); pane.add(add_optical_obs_1_blank32); /* Add constraints to add_optical_obs_1_blank60, then add it to pane */ JLabel add_optical_obs_1_blank60 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,15,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank60,add_optical_obs_1_constraints); add_optical_obs_1_blank60.setFont(font_f); pane.add(add_optical_obs_1_blank60); /* Add constraints to add_optical_obs_1_b1, add a listener, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,9,15,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_b1,add_optical_obs_1_constraints); add_optical_obs_1_b1.addActionListener(this); add_optical_obs_1_b1.setFont(font_f); pane.add(add_optical_obs_1_b1); /* Add constraints to add_optical_obs_1_blank61, then add it to pane */ JLabel add_optical_obs_1_blank61 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,11,15,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank61,add_optical_obs_1_constraints); add_optical_obs_1_blank61.setFont(font_f); pane.add(add_optical_obs_1_blank61); /* Add constraints to add_optical_obs_1_blank62, then add it to pane */ JLabel add_optical_obs_1_blank62 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,16,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank62,add_optical_obs_1_constraints); add_optical_obs_1_blank62.setFont(font_f); pane.add(add_optical_obs_1_blank62); /* Add constraints to add_optical_obs_1_blank63, then add it to pane */ JLabel add_optical_obs_1_blank63 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,17,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank63,add_optical_obs_1_constraints); add_optical_obs_1_blank63.setFont(font_f); pane.add(add_optical_obs_1_blank63); /* Add constraints to add_optical_obs_1_label18, then add it to pane */ JLabel add_optical_obs_1_label18 = new JLabel("Cancel - Return to Level Two Menu "); buildConstraints(add_optical_obs_1_constraints,0,18,11,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_label18,add_optical_obs_1_constraints); add_optical_obs_1_label18.setFont(font_h); pane.add(add_optical_obs_1_label18); /* Add constraints to add_optical_obs_1_b2, add a listener, then add it to pane */ buildConstraints(add_optical_obs_1_constraints,11,18,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_b2,add_optical_obs_1_constraints); add_optical_obs_1_b2.addActionListener(this); add_optical_obs_1_b2.setFont(font_f); pane.add(add_optical_obs_1_b2); /* Add constraints to add_optical_obs_1_blank65, then add it to pane */ JLabel add_optical_obs_1_blank65 = new JLabel(" "); buildConstraints(add_optical_obs_1_constraints,0,19,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_1_layout.setConstraints(add_optical_obs_1_blank65,add_optical_obs_1_constraints); add_optical_obs_1_blank65.setFont(font_f); pane.add(add_optical_obs_1_blank65); setContentPane(pane); repaint(); } void cancel_optical_obs_1() { /* Method to reset to zero the input date, radec, and visual magnitude of an optical observation. The output will be MinorPlanet instance variables in TDB and ICRF/J2000. */ int index = 0; /* Calculate the index based on the additional observation we're now canceling. */ index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; mp.observation_type[index] = 0; /* Reset the UTC observation time to zero */ mp.optical_time[index] = 0.0; /* Reset the input right ascension and uncertainty. */ mp.optical_ra[index] = 0.0; mp.ra_dev[index] = 0.0; /* Reset the input declination and uncertainty. */ mp.optical_dec[index] = 0.0; mp.dec_dev[index] = 0.0; /* Reset the input visual magnitude. */ mp.visual_magnitude[index] = 0.0; mp.visual_magnitude_dev[index] = 0.0; /* Finally, decrement the number of optical observations. */ mp.number_of_optical_observations = mp.number_of_optical_observations - 1; } void add_optical_obs_2() { /* This method provides a screen to enter either the obscode or the latitude, longitude and altitude of site for an optical observation. It reuses the existing pane, which must be cleared and retitled. */ int i = 0; pane.removeAll(); setTitle("minor planet " + mp.current_minor_planet); /* Clear the text fields, so that their contents from a previous call don't reappear */ /* add_optical_obs_2_tf1.setText("0"); add_optical_obs_2_tf2.setText("0"); add_optical_obs_2_tf3.setText("0"); add_optical_obs_2_tf4.setText("0"); add_optical_obs_2_tf5.setText("0"); add_optical_obs_2_tf6.setText("0"); add_optical_obs_2_tf7.setText("0"); add_optical_obs_2_tf8.setText("0"); */ /* Define a layout manager for the pane */ GridBagLayout add_optical_obs_2_layout = new GridBagLayout(); GridBagConstraints add_optical_obs_2_constraints = new GridBagConstraints(); pane.setLayout(add_optical_obs_2_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); Font font_g = new Font("monospaced",Font.BOLD,12); Font font_h = new Font("monospaced",Font.BOLD,14); /* Add constraints to add_optical_obs_2_blank1, then add it to pane */ JLabel add_optical_obs_2_blank1 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,0,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank1,add_optical_obs_2_constraints); add_optical_obs_2_blank1.setFont(font_f); pane.add(add_optical_obs_2_blank1); /* Add constraints to add_optical_obs_2_label1a, then add it to pane */ JLabel add_optical_obs_2_label1a = new JLabel(("Location of Observing Site")); buildConstraints(add_optical_obs_2_constraints,0,1,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_label1a,add_optical_obs_2_constraints); add_optical_obs_2_label1a.setFont(font_h); pane.add(add_optical_obs_2_label1a); /* Add constraints to add_optical_obs_2_blank3, then add it to pane */ JLabel add_optical_obs_2_blank3 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,2,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank3,add_optical_obs_2_constraints); add_optical_obs_2_blank3.setFont(font_f); pane.add(add_optical_obs_2_blank3); /* Add constraints to add_optical_obs_2_blank3a, then add it to pane */ JLabel add_optical_obs_2_blank3a = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,3,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank3a,add_optical_obs_2_constraints); add_optical_obs_2_blank3a.setFont(font_f); pane.add(add_optical_obs_2_blank3a); /* Add constraints to add_optical_obs_2_blank4a, then add it to pane */ JLabel add_optical_obs_2_blank4a = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank4a,add_optical_obs_2_constraints); add_optical_obs_2_blank4a.setFont(font_f); pane.add(add_optical_obs_2_blank4a); /* Add constraints to add_optical_obs_2_obscode, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,1,4,19,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_obscode,add_optical_obs_2_constraints); add_optical_obs_2_obscode.setFont(font_g); pane.add(add_optical_obs_2_obscode); /* Add constraints to add_optical_obs_2_blank5a, then add it to pane */ JLabel add_optical_obs_2_blank5a = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,5,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank5a,add_optical_obs_2_constraints); add_optical_obs_2_blank5a.setFont(font_f); pane.add(add_optical_obs_2_blank5a); /* Add constraints to add_optical_obs_2_tf8, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,5,5,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_tf8,add_optical_obs_2_constraints); add_optical_obs_2_tf8.setFont(font_f); pane.add(add_optical_obs_2_tf8); /* Add constraints to add_optical_obs_2_blank5b, then add it to pane */ JLabel add_optical_obs_2_blank5b = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,8,5,12,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank5b,add_optical_obs_2_constraints); add_optical_obs_2_blank5b.setFont(font_f); pane.add(add_optical_obs_2_blank5b); /* Add constraints to add_optical_obs_2_blank6a, then add it to pane */ JLabel add_optical_obs_2_blank6a = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,6,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank6a,add_optical_obs_2_constraints); add_optical_obs_2_blank6a.setFont(font_f); pane.add(add_optical_obs_2_blank6a); /* Add constraints to add_optical_obs_2_blank7a, then add it to pane */ JLabel add_optical_obs_2_blank7a = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,7,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank7a,add_optical_obs_2_constraints); add_optical_obs_2_blank7a.setFont(font_f); pane.add(add_optical_obs_2_blank7a); /* Add constraints to add_optical_obs_2_latlong, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,1,7,19,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_latlong,add_optical_obs_2_constraints); add_optical_obs_2_latlong.setFont(font_g); pane.add(add_optical_obs_2_latlong); /* Add constraints to add_optical_obs_2_blank4, then add it to pane */ JLabel add_optical_obs_2_blank4 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank4,add_optical_obs_2_constraints); add_optical_obs_2_blank4.setFont(font_f); pane.add(add_optical_obs_2_blank4); /* Add constraints to add_optical_obs_2_label1, then add it to pane */ JLabel add_optical_obs_2_label1 = new JLabel(("Geodetic Latitude")); buildConstraints(add_optical_obs_2_constraints,1,8,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_label1,add_optical_obs_2_constraints); add_optical_obs_2_label1.setFont(font_g); pane.add(add_optical_obs_2_label1); /* Add constraints to add_optical_obs_2_tf1, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,6,8,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_tf1,add_optical_obs_2_constraints); add_optical_obs_2_tf1.setFont(font_f); pane.add(add_optical_obs_2_tf1); /* Add constraints to add_optical_obs_2_label2, then add it to pane */ JLabel add_optical_obs_2_label2 = new JLabel((" deg")); buildConstraints(add_optical_obs_2_constraints,9,8,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_label2,add_optical_obs_2_constraints); add_optical_obs_2_label2.setFont(font_f); pane.add(add_optical_obs_2_label2); /* Add constraints to add_optical_obs_2_blank7, then add it to pane */ /* JLabel add_optical_obs_2_blank7 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,10,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank7,add_optical_obs_2_constraints); add_optical_obs_2_blank7.setFont(font_f); pane.add(add_optical_obs_2_blank7); */ /* Add constraints to add_optical_obs_2_tf2, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,11,8,1,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_tf2,add_optical_obs_2_constraints); add_optical_obs_2_tf2.setFont(font_f); pane.add(add_optical_obs_2_tf2); /* Add constraints to add_optical_obs_2_label3, then add it to pane */ JLabel add_optical_obs_2_label3 = new JLabel((" arc mins")); buildConstraints(add_optical_obs_2_constraints,12,8,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_label3,add_optical_obs_2_constraints); add_optical_obs_2_label3.setFont(font_f); pane.add(add_optical_obs_2_label3); /* Add constraints to add_optical_obs_2_blank8, then add it to pane */ /* JLabel add_optical_obs_2_blank8 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,15,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank8,add_optical_obs_2_constraints); add_optical_obs_2_blank8.setFont(font_f); pane.add(add_optical_obs_2_blank8); */ /* Add constraints to add_optical_obs_2_tf3, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,15,8,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_tf3,add_optical_obs_2_constraints); add_optical_obs_2_tf3.setFont(font_f); pane.add(add_optical_obs_2_tf3); /* Add constraints to add_optical_obs_2_label4, then add it to pane */ JLabel add_optical_obs_2_label4 = new JLabel((" arc secs")); buildConstraints(add_optical_obs_2_constraints,17,8,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_label4,add_optical_obs_2_constraints); add_optical_obs_2_label4.setFont(font_f); pane.add(add_optical_obs_2_label4); /* Add constraints to add_optical_obs_2_blank9, then add it to pane */ /* JLabel add_optical_obs_2_blank9 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,19,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank9,add_optical_obs_2_constraints); add_optical_obs_2_blank9.setFont(font_f); pane.add(add_optical_obs_2_blank9); */ /* Add constraints to add_optical_obs_2_blank10, then add it to pane */ JLabel add_optical_obs_2_blank10 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,9,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank10,add_optical_obs_2_constraints); add_optical_obs_2_blank10.setFont(font_f); pane.add(add_optical_obs_2_blank10); /* Add constraints to add_optical_obs_2_blank12, then add it to pane */ JLabel add_optical_obs_2_blank12 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,10,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank12,add_optical_obs_2_constraints); add_optical_obs_2_blank12.setFont(font_f); pane.add(add_optical_obs_2_blank12); /* Add constraints to add_optical_obs_2_blank13, then add it to pane */ JLabel add_optical_obs_2_blank13 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,11,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank13,add_optical_obs_2_constraints); add_optical_obs_2_blank13.setFont(font_f); pane.add(add_optical_obs_2_blank13); /* Add constraints to add_optical_obs_2_label5, then add it to pane */ JLabel add_optical_obs_2_label5 = new JLabel(("East Longitude")); buildConstraints(add_optical_obs_2_constraints,1,11,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_label5,add_optical_obs_2_constraints); add_optical_obs_2_label5.setFont(font_g); pane.add(add_optical_obs_2_label5); /* Add constraints to add_optical_obs_2_blank14, then add it to pane */ /* JLabel add_optical_obs_2_blank14 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,4,11,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank14,add_optical_obs_2_constraints); add_optical_obs_2_blank14.setFont(font_f); pane.add(add_optical_obs_2_blank14); */ /* Add constraints to add_optical_obs_2_tf4, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,6,11,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_tf4,add_optical_obs_2_constraints); add_optical_obs_2_tf4.setFont(font_f); pane.add(add_optical_obs_2_tf4); /* Add constraints to add_optical_obs_2_label6, then add it to pane */ JLabel add_optical_obs_2_label6 = new JLabel((" deg")); buildConstraints(add_optical_obs_2_constraints,9,11,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_label6,add_optical_obs_2_constraints); add_optical_obs_2_label6.setFont(font_f); pane.add(add_optical_obs_2_label6); /* Add constraints to add_optical_obs_2_blank15, then add it to pane */ /* JLabel add_optical_obs_2_blank15 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,10,11,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank15,add_optical_obs_2_constraints); add_optical_obs_2_blank15.setFont(font_f); pane.add(add_optical_obs_2_blank15); */ /* Add constraints to add_optical_obs_2_tf5, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,11,11,1,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_tf5,add_optical_obs_2_constraints); add_optical_obs_2_tf5.setFont(font_f); pane.add(add_optical_obs_2_tf5); /* Add constraints to add_optical_obs_2_label7, then add it to pane */ JLabel add_optical_obs_2_label7 = new JLabel((" arc mins")); buildConstraints(add_optical_obs_2_constraints,12,11,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_label7,add_optical_obs_2_constraints); add_optical_obs_2_label7.setFont(font_f); pane.add(add_optical_obs_2_label7); /* Add constraints to add_optical_obs_2_blank16, then add it to pane */ /* JLabel add_optical_obs_2_blank16 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,14,11,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank16,add_optical_obs_2_constraints); add_optical_obs_2_blank16.setFont(font_f); pane.add(add_optical_obs_2_blank16); */ /* Add constraints to add_optical_obs_2_tf6, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,15,11,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_tf6,add_optical_obs_2_constraints); add_optical_obs_2_tf6.setFont(font_f); pane.add(add_optical_obs_2_tf6); /* Add constraints to add_optical_obs_2_label8, then add it to pane */ JLabel add_optical_obs_2_label8 = new JLabel((" arc secs")); buildConstraints(add_optical_obs_2_constraints,17,11,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_label8,add_optical_obs_2_constraints); add_optical_obs_2_label8.setFont(font_f); pane.add(add_optical_obs_2_label8); /* Add constraints to add_optical_obs_2_blank17, then add it to pane */ /* JLabel add_optical_obs_2_blank17 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,19,11,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank17,add_optical_obs_2_constraints); add_optical_obs_2_blank17.setFont(font_f); pane.add(add_optical_obs_2_blank17); */ /* Add constraints to add_optical_obs_2_blank18, then add it to pane */ JLabel add_optical_obs_2_blank18 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,12,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank18,add_optical_obs_2_constraints); add_optical_obs_2_blank18.setFont(font_f); pane.add(add_optical_obs_2_blank18); /* Add constraints to add_optical_obs_2_blank21, then add it to pane */ JLabel add_optical_obs_2_blank21 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,13,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank21,add_optical_obs_2_constraints); add_optical_obs_2_blank21.setFont(font_f); pane.add(add_optical_obs_2_blank21); /* Add constraints to add_optical_obs_2_blank22, then add it to pane */ JLabel add_optical_obs_2_blank22 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,14,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank22,add_optical_obs_2_constraints); add_optical_obs_2_blank22.setFont(font_f); pane.add(add_optical_obs_2_blank22); /* Add constraints to add_optical_obs_2_label9, then add it to pane */ JLabel add_optical_obs_2_label9 = new JLabel(("Altitude")); buildConstraints(add_optical_obs_2_constraints,1,14,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_label9,add_optical_obs_2_constraints); add_optical_obs_2_label9.setFont(font_g); pane.add(add_optical_obs_2_label9); /* Add constraints to add_optical_obs_2_blank23, then add it to pane */ JLabel add_optical_obs_2_blank23 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,4,14,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank23,add_optical_obs_2_constraints); add_optical_obs_2_blank23.setFont(font_f); pane.add(add_optical_obs_2_blank23); /* Add constraints to add_optical_obs_2_tf7, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,7,14,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_tf7,add_optical_obs_2_constraints); add_optical_obs_2_tf7.setFont(font_f); pane.add(add_optical_obs_2_tf7); /* Add constraints to add_optical_obs_2_label10, then add it to pane */ JLabel add_optical_obs_2_label10 = new JLabel((" meters")); buildConstraints(add_optical_obs_2_constraints,9,14,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_label10,add_optical_obs_2_constraints); add_optical_obs_2_label10.setFont(font_f); pane.add(add_optical_obs_2_label10); /* Add constraints to add_optical_obs_2_blank24, then add it to pane */ JLabel add_optical_obs_2_blank24 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,11,14,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank24,add_optical_obs_2_constraints); add_optical_obs_2_blank24.setFont(font_f); pane.add(add_optical_obs_2_blank24); /* Add constraints to add_optical_obs_2_blank25, then add it to pane */ JLabel add_optical_obs_2_blank25 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,15,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank25,add_optical_obs_2_constraints); add_optical_obs_2_blank25.setFont(font_f); pane.add(add_optical_obs_2_blank25); /* Add constraints to add_optical_obs_2_blank125, then add it to pane */ JLabel add_optical_obs_2_blank125 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,16,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank125,add_optical_obs_2_constraints); add_optical_obs_2_blank125.setFont(font_f); pane.add(add_optical_obs_2_blank125); /* Add constraints to add_optical_obs_2_EOPs, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,1,16,11,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_EOPs,add_optical_obs_2_constraints); add_optical_obs_2_EOPs.setFont(font_g); pane.add(add_optical_obs_2_EOPs); /* Add constraints to add_optical_obs_2_blank126, then add it to pane */ JLabel add_optical_obs_2_blank126 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,12,16,8,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank126,add_optical_obs_2_constraints); add_optical_obs_2_blank126.setFont(font_f); pane.add(add_optical_obs_2_blank126); /* Add constraints to add_optical_obs_2_blank26, then add it to pane */ JLabel add_optical_obs_2_blank26 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,17,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank26,add_optical_obs_2_constraints); add_optical_obs_2_blank26.setFont(font_f); pane.add(add_optical_obs_2_blank26); /* Add constraints to add_optical_obs_2_blank60, then add it to pane */ JLabel add_optical_obs_2_blank60 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,18,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank60,add_optical_obs_2_constraints); add_optical_obs_2_blank60.setFont(font_f); pane.add(add_optical_obs_2_blank60); /* Add constraints to add_optical_obs_2_b1, add a listener, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,9,18,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_b1,add_optical_obs_2_constraints); add_optical_obs_2_b1.addActionListener(this); add_optical_obs_2_b1.setFont(font_f); pane.add(add_optical_obs_2_b1); /* Add constraints to add_optical_obs_2_blank61, then add it to pane */ JLabel add_optical_obs_2_blank61 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,11,18,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank61,add_optical_obs_2_constraints); add_optical_obs_2_blank61.setFont(font_f); pane.add(add_optical_obs_2_blank61); /* Add constraints to add_optical_obs_2_blank62, then add it to pane */ JLabel add_optical_obs_2_blank62 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,19,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank62,add_optical_obs_2_constraints); add_optical_obs_2_blank62.setFont(font_f); pane.add(add_optical_obs_2_blank62); /* Add constraints to add_optical_obs_2_blank162, then add it to pane */ JLabel add_optical_obs_2_blank162 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,20,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank162,add_optical_obs_2_constraints); add_optical_obs_2_blank162.setFont(font_f); pane.add(add_optical_obs_2_blank162); /* Add constraints to add_optical_obs_2_label21, then add it to pane */ JLabel add_optical_obs_2_label21 = new JLabel("Cancel - Return to Level Two Menu "); buildConstraints(add_optical_obs_2_constraints,0,21,11,1,55,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_label21,add_optical_obs_2_constraints); add_optical_obs_2_label21.setFont(font_f); pane.add(add_optical_obs_2_label21); /* Add constraints to add_optical_obs_2_b2, add a listener, then add it to pane */ buildConstraints(add_optical_obs_2_constraints,11,21,9,1,55,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_b2,add_optical_obs_2_constraints); add_optical_obs_2_b2.addActionListener(this); add_optical_obs_2_b2.setFont(font_f); pane.add(add_optical_obs_2_b2); /* Add constraints to add_optical_obs_2_blank163, then add it to pane */ JLabel add_optical_obs_2_blank163 = new JLabel(" "); buildConstraints(add_optical_obs_2_constraints,0,22,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_2_layout.setConstraints(add_optical_obs_2_blank163,add_optical_obs_2_constraints); add_optical_obs_2_blank163.setFont(font_f); pane.add(add_optical_obs_2_blank163); setContentPane(pane); repaint(); } void cancel_optical_obs_2() { /* Method to reset the latlongalt of an optical observation. The output will be MinorPlanet instance variables in radians and meters. */ int index = 0; /* First, calculate the index based on the observation we're canceling, and set observation_geocentric to false */ index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; /* Reset the variables that had been initialized in process_optical_obs_1 */ mp.observation_type[index] = 0; mp.optical_time[index] = 0.0; mp.optical_ra[index] = 0.0; mp.ra_dev[index] = 0.0; mp.optical_dec[index] = 0.0; mp.dec_dev[index] = 0.0; mp.visual_magnitude[index] = 0.0; mp.visual_magnitude_dev[index] = 0.0; /* Reset the geocentric flag, and set the lat/long/alt variables to zero */ mp.observation_geocentric[index] = false; mp.observation_latitude[index] = 0; mp.observation_longitude[index] = 0; mp.observation_altitude[index] = 0; /* Finally, decrement the number of optical observations. */ mp.number_of_optical_observations = mp.number_of_optical_observations - 1; } void add_optical_obs_3() { /* This method provides a screen to enter the Earth Orientation Parameters for an optical observation. It reuses the existing pane, which must be cleared and retitled. */ int i = 0, index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; String day; pane.removeAll(); setTitle("minor planet " + mp.current_minor_planet); /* Set the text fields to zero, so that their contents from a previous call don't reappear, and as a useful default */ /* add_optical_obs_3_tf1.setText("0"); add_optical_obs_3_tf2.setText("0"); add_optical_obs_3_tf3.setText("0"); add_optical_obs_3_tf4.setText("0"); add_optical_obs_3_tf5.setText("0"); add_optical_obs_3_tf6.setText("0"); add_optical_obs_3_tf7.setText("0"); add_optical_obs_3_tf8.setText("0"); add_optical_obs_3_tf9.setText("0"); add_optical_obs_3_tf10.setText("0"); add_optical_obs_3_tf11.setText("0"); add_optical_obs_3_tf12.setText("0"); add_optical_obs_3_tf13.setText("0"); add_optical_obs_3_tf14.setText("0"); add_optical_obs_3_tf15.setText("0"); add_optical_obs_3_tf16.setText("0"); add_optical_obs_3_tf17.setText("0"); add_optical_obs_3_tf18.setText("0"); add_optical_obs_3_tf19.setText("0"); add_optical_obs_3_tf20.setText("0"); add_optical_obs_3_tf21.setText("0"); add_optical_obs_3_tf22.setText("0"); */ /* Define a layout manager for the pane */ GridBagLayout add_optical_obs_3_layout = new GridBagLayout(); GridBagConstraints add_optical_obs_3_constraints = new GridBagConstraints(); pane.setLayout(add_optical_obs_3_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); Font font_g = new Font("monospaced",Font.BOLD,12); Font font_h = new Font("monospaced",Font.BOLD,14); /* Add constraints to add_optical_obs_3_blank1, then add it to pane */ /* JLabel add_optical_obs_3_blank1 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,0,4,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank1,add_optical_obs_3_constraints); add_optical_obs_3_blank1.setFont(font_f); pane.add(add_optical_obs_3_blank1); */ /* Add constraints to add_optical_obs_3_label1, then add it to pane */ JLabel add_optical_obs_3_label1 = new JLabel(("Earth Orientation Parameters for Observation Timeframe")); buildConstraints(add_optical_obs_3_constraints,0,0,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label1,add_optical_obs_3_constraints); add_optical_obs_3_label1.setFont(font_h); pane.add(add_optical_obs_3_label1); /* Add constraints to add_optical_obs_3_blank2, then add it to pane */ /* JLabel add_optical_obs_3_blank2 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,18,0,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank2,add_optical_obs_3_constraints); add_optical_obs_3_blank2.setFont(font_f); pane.add(add_optical_obs_3_blank2); */ /* Add constraints to add_optical_obs_3_blank5, then add it to pane */ JLabel add_optical_obs_3_blank5 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank5,add_optical_obs_3_constraints); add_optical_obs_3_blank5.setFont(font_f); pane.add(add_optical_obs_3_blank5); /* Add constraints to add_optical_obs_3_label2, then add it to pane */ JLabel add_optical_obs_3_label2 = new JLabel(("Julian Day")); buildConstraints(add_optical_obs_3_constraints,1,1,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label2,add_optical_obs_3_constraints); add_optical_obs_3_label2.setFont(font_g); pane.add(add_optical_obs_3_label2); /* Add constraints to add_optical_obs_3_blank6, then add it to pane */ JLabel add_optical_obs_3_blank6 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,4,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank6,add_optical_obs_3_constraints); add_optical_obs_3_blank6.setFont(font_f); pane.add(add_optical_obs_3_blank6); /* Add constraints to add_optical_obs_3_label3, then add it to pane */ JLabel add_optical_obs_3_label3 = new JLabel(("x")); buildConstraints(add_optical_obs_3_constraints,5,1,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label3,add_optical_obs_3_constraints); add_optical_obs_3_label3.setFont(font_g); pane.add(add_optical_obs_3_label3); /* Add constraints to add_optical_obs_3_blank7, then add it to pane */ JLabel add_optical_obs_3_blank7 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,7,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank7,add_optical_obs_3_constraints); add_optical_obs_3_blank7.setFont(font_f); pane.add(add_optical_obs_3_blank7); /* Add constraints to add_optical_obs_3_label4, then add it to pane */ JLabel add_optical_obs_3_label4 = new JLabel(("y")); buildConstraints(add_optical_obs_3_constraints,8,1,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label4,add_optical_obs_3_constraints); add_optical_obs_3_label4.setFont(font_g); pane.add(add_optical_obs_3_label4); /* Add constraints to add_optical_obs_3_blank8, then add it to pane */ JLabel add_optical_obs_3_blank8 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,10,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank8,add_optical_obs_3_constraints); add_optical_obs_3_blank8.setFont(font_f); pane.add(add_optical_obs_3_blank8); /* Add constraints to add_optical_obs_3_label5, then add it to pane */ JLabel add_optical_obs_3_label5 = new JLabel(("UT1-UTC")); buildConstraints(add_optical_obs_3_constraints,11,1,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label5,add_optical_obs_3_constraints); add_optical_obs_3_label5.setFont(font_g); pane.add(add_optical_obs_3_label5); /* Add constraints to add_optical_obs_3_blank9, then add it to pane */ JLabel add_optical_obs_3_blank9 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,13,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank9,add_optical_obs_3_constraints); add_optical_obs_3_blank9.setFont(font_f); pane.add(add_optical_obs_3_blank9); /* Add constraints to add_optical_obs_3_label6, then add it to pane */ JLabel add_optical_obs_3_label6 = new JLabel(("dPsi")); buildConstraints(add_optical_obs_3_constraints,14,1,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label6,add_optical_obs_3_constraints); add_optical_obs_3_label6.setFont(font_g); pane.add(add_optical_obs_3_label6); /* Add constraints to add_optical_obs_3_blank10, then add it to pane */ JLabel add_optical_obs_3_blank10 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,16,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank10,add_optical_obs_3_constraints); add_optical_obs_3_blank10.setFont(font_f); pane.add(add_optical_obs_3_blank10); /* Add constraints to add_optical_obs_3_label7, then add it to pane */ JLabel add_optical_obs_3_label7 = new JLabel(("dEpsilon")); buildConstraints(add_optical_obs_3_constraints,17,1,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label7,add_optical_obs_3_constraints); add_optical_obs_3_label7.setFont(font_g); pane.add(add_optical_obs_3_label7); /* Add constraints to add_optical_obs_3_blank11, then add it to pane */ JLabel add_optical_obs_3_blank11 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,19,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank11,add_optical_obs_3_constraints); add_optical_obs_3_blank11.setFont(font_f); pane.add(add_optical_obs_3_blank11); /* Add constraints to add_optical_obs_3_blank105, then add it to pane */ JLabel add_optical_obs_3_blank105 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,2,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank105,add_optical_obs_3_constraints); add_optical_obs_3_blank105.setFont(font_f); pane.add(add_optical_obs_3_blank105); /* Add constraints to add_optical_obs_3_label103, then add it to pane */ JLabel add_optical_obs_3_label103 = new JLabel("('')"); buildConstraints(add_optical_obs_3_constraints,5,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label103,add_optical_obs_3_constraints); add_optical_obs_3_label103.setFont(font_g); pane.add(add_optical_obs_3_label103); /* Add constraints to add_optical_obs_3_blank107, then add it to pane */ JLabel add_optical_obs_3_blank107 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,7,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank107,add_optical_obs_3_constraints); add_optical_obs_3_blank107.setFont(font_f); pane.add(add_optical_obs_3_blank107); /* Add constraints to add_optical_obs_3_label104, then add it to pane */ JLabel add_optical_obs_3_label104 = new JLabel("('')"); buildConstraints(add_optical_obs_3_constraints,8,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label104,add_optical_obs_3_constraints); add_optical_obs_3_label104.setFont(font_g); pane.add(add_optical_obs_3_label104); /* Add constraints to add_optical_obs_3_blank108, then add it to pane */ JLabel add_optical_obs_3_blank108 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,10,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank108,add_optical_obs_3_constraints); add_optical_obs_3_blank108.setFont(font_f); pane.add(add_optical_obs_3_blank108); /* Add constraints to add_optical_obs_3_label105, then add it to pane */ JLabel add_optical_obs_3_label105 = new JLabel("(s)"); buildConstraints(add_optical_obs_3_constraints,11,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label105,add_optical_obs_3_constraints); add_optical_obs_3_label105.setFont(font_g); pane.add(add_optical_obs_3_label105); /* Add constraints to add_optical_obs_3_blank109, then add it to pane */ JLabel add_optical_obs_3_blank109 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,13,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank109,add_optical_obs_3_constraints); add_optical_obs_3_blank109.setFont(font_f); pane.add(add_optical_obs_3_blank109); /* Add constraints to add_optical_obs_3_label106, then add it to pane */ JLabel add_optical_obs_3_label106 = new JLabel("('')"); buildConstraints(add_optical_obs_3_constraints,14,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label106,add_optical_obs_3_constraints); add_optical_obs_3_label106.setFont(font_g); pane.add(add_optical_obs_3_label106); /* Add constraints to add_optical_obs_3_blank110, then add it to pane */ JLabel add_optical_obs_3_blank110 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,16,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank110,add_optical_obs_3_constraints); add_optical_obs_3_blank110.setFont(font_f); pane.add(add_optical_obs_3_blank110); /* Add constraints to add_optical_obs_3_label107, then add it to pane */ JLabel add_optical_obs_3_label107 = new JLabel("('')"); buildConstraints(add_optical_obs_3_constraints,17,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label107,add_optical_obs_3_constraints); add_optical_obs_3_label107.setFont(font_g); pane.add(add_optical_obs_3_label107); /* Add constraints to add_optical_obs_3_blank111, then add it to pane */ JLabel add_optical_obs_3_blank111 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,19,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank111,add_optical_obs_3_constraints); add_optical_obs_3_blank111.setFont(font_f); pane.add(add_optical_obs_3_blank111); /* Add constraints to add_optical_obs_3_blank12, then add it to pane */ JLabel add_optical_obs_3_blank12 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,3,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank12,add_optical_obs_3_constraints); add_optical_obs_3_blank12.setFont(font_f); pane.add(add_optical_obs_3_blank12); /* Add constraints to add_optical_obs_3_blank13, then add it to pane */ JLabel add_optical_obs_3_blank13 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank13,add_optical_obs_3_constraints); add_optical_obs_3_blank13.setFont(font_f); pane.add(add_optical_obs_3_blank13); day = String.valueOf(Math.floor(mp.optical_time[index] - 1.5) + 0.5); /* Add constraints to add_optical_obs_3_label8, then add it to pane */ JLabel add_optical_obs_3_label8 = new JLabel(day); buildConstraints(add_optical_obs_3_constraints,1,4,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label8,add_optical_obs_3_constraints); add_optical_obs_3_label8.setFont(font_f); pane.add(add_optical_obs_3_label8); /* Add constraints to add_optical_obs_3_blank14, then add it to pane */ JLabel add_optical_obs_3_blank14 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,4,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank14,add_optical_obs_3_constraints); add_optical_obs_3_blank14.setFont(font_f); pane.add(add_optical_obs_3_blank14); /* Add constraints to add_optical_obs_3_tf1, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,5,4,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf1,add_optical_obs_3_constraints); add_optical_obs_3_tf1.setFont(font_f); pane.add(add_optical_obs_3_tf1); /* Add constraints to add_optical_obs_3_blank15, then add it to pane */ JLabel add_optical_obs_3_blank15 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,7,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank15,add_optical_obs_3_constraints); add_optical_obs_3_blank15.setFont(font_f); pane.add(add_optical_obs_3_blank15); /* Add constraints to add_optical_obs_3_tf2, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,8,4,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf2,add_optical_obs_3_constraints); add_optical_obs_3_tf2.setFont(font_f); pane.add(add_optical_obs_3_tf2); /* Add constraints to add_optical_obs_3_blank16, then add it to pane */ JLabel add_optical_obs_3_blank16 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,10,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank16,add_optical_obs_3_constraints); add_optical_obs_3_blank16.setFont(font_f); pane.add(add_optical_obs_3_blank16); /* Add constraints to add_optical_obs_3_tf3, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,11,4,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf3,add_optical_obs_3_constraints); add_optical_obs_3_tf3.setFont(font_f); pane.add(add_optical_obs_3_tf3); /* Add constraints to add_optical_obs_3_blank17, then add it to pane */ JLabel add_optical_obs_3_blank17 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,13,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank17,add_optical_obs_3_constraints); add_optical_obs_3_blank17.setFont(font_f); pane.add(add_optical_obs_3_blank17); /* Add constraints to add_optical_obs_3_tf4, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,14,4,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf4,add_optical_obs_3_constraints); add_optical_obs_3_tf4.setFont(font_f); pane.add(add_optical_obs_3_tf4); /* Add constraints to add_optical_obs_3_blank18, then add it to pane */ JLabel add_optical_obs_3_blank18 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,16,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank18,add_optical_obs_3_constraints); add_optical_obs_3_blank18.setFont(font_f); pane.add(add_optical_obs_3_blank18); /* Add constraints to add_optical_obs_3_tf5, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,17,4,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf5,add_optical_obs_3_constraints); add_optical_obs_3_tf5.setFont(font_f); pane.add(add_optical_obs_3_tf5); /* Add constraints to add_optical_obs_3_blank19, then add it to pane */ JLabel add_optical_obs_3_blank19 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,19,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank19,add_optical_obs_3_constraints); add_optical_obs_3_blank19.setFont(font_f); pane.add(add_optical_obs_3_blank19); /* Add constraints to add_optical_obs_3_blank20, then add it to pane */ JLabel add_optical_obs_3_blank20 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,5,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank20,add_optical_obs_3_constraints); add_optical_obs_3_blank20.setFont(font_f); pane.add(add_optical_obs_3_blank20); /* Add constraints to add_optical_obs_3_blank21, then add it to pane */ JLabel add_optical_obs_3_blank21 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank21,add_optical_obs_3_constraints); add_optical_obs_3_blank21.setFont(font_f); pane.add(add_optical_obs_3_blank21); day = String.valueOf(Math.floor(mp.optical_time[index] - 0.5) + 0.5); /* Add constraints to add_optical_obs_3_label9, then add it to pane */ JLabel add_optical_obs_3_label9 = new JLabel(day); buildConstraints(add_optical_obs_3_constraints,1,6,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label9,add_optical_obs_3_constraints); add_optical_obs_3_label9.setFont(font_f); pane.add(add_optical_obs_3_label9); /* Add constraints to add_optical_obs_3_blank22, then add it to pane */ JLabel add_optical_obs_3_blank22 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,4,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank22,add_optical_obs_3_constraints); add_optical_obs_3_blank22.setFont(font_f); pane.add(add_optical_obs_3_blank22); /* Add constraints to add_optical_obs_3_tf6, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,5,6,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf6,add_optical_obs_3_constraints); add_optical_obs_3_tf6.setFont(font_f); pane.add(add_optical_obs_3_tf6); /* Add constraints to add_optical_obs_3_blank23, then add it to pane */ JLabel add_optical_obs_3_blank23 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,7,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank23,add_optical_obs_3_constraints); add_optical_obs_3_blank23.setFont(font_f); pane.add(add_optical_obs_3_blank23); /* Add constraints to add_optical_obs_3_tf7, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,8,6,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf7,add_optical_obs_3_constraints); add_optical_obs_3_tf7.setFont(font_f); pane.add(add_optical_obs_3_tf7); /* Add constraints to add_optical_obs_3_blank24, then add it to pane */ JLabel add_optical_obs_3_blank24 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,10,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank24,add_optical_obs_3_constraints); add_optical_obs_3_blank24.setFont(font_f); pane.add(add_optical_obs_3_blank24); /* Add constraints to add_optical_obs_3_tf8, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,11,6,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf8,add_optical_obs_3_constraints); add_optical_obs_3_tf8.setFont(font_f); pane.add(add_optical_obs_3_tf8); /* Add constraints to add_optical_obs_3_blank25, then add it to pane */ JLabel add_optical_obs_3_blank25 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,13,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank25,add_optical_obs_3_constraints); add_optical_obs_3_blank25.setFont(font_f); pane.add(add_optical_obs_3_blank25); /* Add constraints to add_optical_obs_3_tf9, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,14,6,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf9,add_optical_obs_3_constraints); add_optical_obs_3_tf9.setFont(font_f); pane.add(add_optical_obs_3_tf9); /* Add constraints to add_optical_obs_3_blank26, then add it to pane */ JLabel add_optical_obs_3_blank26 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,16,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank26,add_optical_obs_3_constraints); add_optical_obs_3_blank26.setFont(font_f); pane.add(add_optical_obs_3_blank26); /* Add constraints to add_optical_obs_3_tf10, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,17,6,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf10,add_optical_obs_3_constraints); add_optical_obs_3_tf10.setFont(font_f); pane.add(add_optical_obs_3_tf10); /* Add constraints to add_optical_obs_3_blank27, then add it to pane */ JLabel add_optical_obs_3_blank27 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,19,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank27,add_optical_obs_3_constraints); add_optical_obs_3_blank27.setFont(font_f); pane.add(add_optical_obs_3_blank27); /* Add constraints to add_optical_obs_3_blank28, then add it to pane */ JLabel add_optical_obs_3_blank28 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,7,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank28,add_optical_obs_3_constraints); add_optical_obs_3_blank28.setFont(font_f); pane.add(add_optical_obs_3_blank28); /* Add constraints to add_optical_obs_3_blank29, then add it to pane */ JLabel add_optical_obs_3_blank29 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank29,add_optical_obs_3_constraints); add_optical_obs_3_blank29.setFont(font_f); pane.add(add_optical_obs_3_blank29); day = String.valueOf(Math.floor(mp.optical_time[index] + 0.5) + 0.5); /* Add constraints to add_optical_obs_3_label10, then add it to pane */ JLabel add_optical_obs_3_label10 = new JLabel(day); buildConstraints(add_optical_obs_3_constraints,1,8,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label10,add_optical_obs_3_constraints); add_optical_obs_3_label10.setFont(font_f); pane.add(add_optical_obs_3_label10); /* Add constraints to add_optical_obs_3_blank30, then add it to pane */ JLabel add_optical_obs_3_blank30 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,4,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank30,add_optical_obs_3_constraints); add_optical_obs_3_blank30.setFont(font_f); pane.add(add_optical_obs_3_blank30); /* Add constraints to add_optical_obs_3_tf11, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,5,8,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf11,add_optical_obs_3_constraints); add_optical_obs_3_tf11.setFont(font_f); pane.add(add_optical_obs_3_tf11); /* Add constraints to add_optical_obs_3_blank31, then add it to pane */ JLabel add_optical_obs_3_blank31 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,7,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank31,add_optical_obs_3_constraints); add_optical_obs_3_blank31.setFont(font_f); pane.add(add_optical_obs_3_blank31); /* Add constraints to add_optical_obs_3_tf12, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,8,8,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf12,add_optical_obs_3_constraints); add_optical_obs_3_tf12.setFont(font_f); pane.add(add_optical_obs_3_tf12); /* Add constraints to add_optical_obs_3_blank32, then add it to pane */ JLabel add_optical_obs_3_blank32 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,10,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank32,add_optical_obs_3_constraints); add_optical_obs_3_blank32.setFont(font_f); pane.add(add_optical_obs_3_blank32); /* Add constraints to add_optical_obs_3_tf13, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,11,8,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf13,add_optical_obs_3_constraints); add_optical_obs_3_tf13.setFont(font_f); pane.add(add_optical_obs_3_tf13); /* Add constraints to add_optical_obs_3_blank33, then add it to pane */ JLabel add_optical_obs_3_blank33 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,13,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank33,add_optical_obs_3_constraints); add_optical_obs_3_blank33.setFont(font_f); pane.add(add_optical_obs_3_blank33); /* Add constraints to add_optical_obs_3_tf14, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,14,8,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf14,add_optical_obs_3_constraints); add_optical_obs_3_tf14.setFont(font_f); pane.add(add_optical_obs_3_tf14); /* Add constraints to add_optical_obs_3_blank34, then add it to pane */ JLabel add_optical_obs_3_blank34 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,16,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank34,add_optical_obs_3_constraints); add_optical_obs_3_blank34.setFont(font_f); pane.add(add_optical_obs_3_blank34); /* Add constraints to add_optical_obs_3_tf15, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,17,8,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf15,add_optical_obs_3_constraints); add_optical_obs_3_tf15.setFont(font_f); pane.add(add_optical_obs_3_tf15); /* Add constraints to add_optical_obs_3_blank35, then add it to pane */ JLabel add_optical_obs_3_blank35 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,19,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank35,add_optical_obs_3_constraints); add_optical_obs_3_blank35.setFont(font_f); pane.add(add_optical_obs_3_blank35); /* Add constraints to add_optical_obs_3_blank36, then add it to pane */ JLabel add_optical_obs_3_blank36 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,9,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank36,add_optical_obs_3_constraints); add_optical_obs_3_blank36.setFont(font_f); pane.add(add_optical_obs_3_blank36); /* Add constraints to add_optical_obs_3_blank37, then add it to pane */ JLabel add_optical_obs_3_blank37 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank37,add_optical_obs_3_constraints); add_optical_obs_3_blank37.setFont(font_f); pane.add(add_optical_obs_3_blank37); day = String.valueOf(Math.floor(mp.optical_time[index] + 1.5) + 0.5); /* Add constraints to add_optical_obs_3_label11, then add it to pane */ JLabel add_optical_obs_3_label11 = new JLabel(day); buildConstraints(add_optical_obs_3_constraints,1,10,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label11,add_optical_obs_3_constraints); add_optical_obs_3_label11.setFont(font_f); pane.add(add_optical_obs_3_label11); /* Add constraints to add_optical_obs_3_blank38, then add it to pane */ JLabel add_optical_obs_3_blank38 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,4,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank38,add_optical_obs_3_constraints); add_optical_obs_3_blank38.setFont(font_f); pane.add(add_optical_obs_3_blank38); /* Add constraints to add_optical_obs_3_tf16, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,5,10,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf16,add_optical_obs_3_constraints); add_optical_obs_3_tf16.setFont(font_f); pane.add(add_optical_obs_3_tf16); /* Add constraints to add_optical_obs_3_blank39, then add it to pane */ JLabel add_optical_obs_3_blank39 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,7,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank39,add_optical_obs_3_constraints); add_optical_obs_3_blank39.setFont(font_f); pane.add(add_optical_obs_3_blank39); /* Add constraints to add_optical_obs_3_tf17, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,8,10,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf17,add_optical_obs_3_constraints); add_optical_obs_3_tf17.setFont(font_f); pane.add(add_optical_obs_3_tf17); /* Add constraints to add_optical_obs_3_blank40, then add it to pane */ JLabel add_optical_obs_3_blank40 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,10,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank40,add_optical_obs_3_constraints); add_optical_obs_3_blank40.setFont(font_f); pane.add(add_optical_obs_3_blank40); /* Add constraints to add_optical_obs_3_tf18, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,11,10,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf18,add_optical_obs_3_constraints); add_optical_obs_3_tf18.setFont(font_f); pane.add(add_optical_obs_3_tf18); /* Add constraints to add_optical_obs_3_blank41, then add it to pane */ JLabel add_optical_obs_3_blank41 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,13,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank41,add_optical_obs_3_constraints); add_optical_obs_3_blank41.setFont(font_f); pane.add(add_optical_obs_3_blank41); /* Add constraints to add_optical_obs_3_tf19, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,14,10,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf19,add_optical_obs_3_constraints); add_optical_obs_3_tf19.setFont(font_f); pane.add(add_optical_obs_3_tf19); /* Add constraints to add_optical_obs_3_blank42, then add it to pane */ JLabel add_optical_obs_3_blank42 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,16,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank42,add_optical_obs_3_constraints); add_optical_obs_3_blank42.setFont(font_f); pane.add(add_optical_obs_3_blank42); /* Add constraints to add_optical_obs_3_tf20, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,17,10,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf20,add_optical_obs_3_constraints); add_optical_obs_3_tf20.setFont(font_f); pane.add(add_optical_obs_3_tf20); /* Add constraints to add_optical_obs_3_blank43, then add it to pane */ JLabel add_optical_obs_3_blank43 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,19,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank43,add_optical_obs_3_constraints); add_optical_obs_3_blank43.setFont(font_f); pane.add(add_optical_obs_3_blank43); /* Add constraints to add_optical_obs_3_blank44, then add it to pane */ JLabel add_optical_obs_3_blank44 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,11,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank44,add_optical_obs_3_constraints); add_optical_obs_3_blank44.setFont(font_f); pane.add(add_optical_obs_3_blank44); /* Add constraints to add_optical_obs_3_blank45, then add it to pane */ JLabel add_optical_obs_3_blank45 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,12,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank45,add_optical_obs_3_constraints); add_optical_obs_3_blank45.setFont(font_f); pane.add(add_optical_obs_3_blank45); /* Add constraints to add_optical_obs_3_label12, then add it to pane */ JLabel add_optical_obs_3_label12 = new JLabel("No. of Leap Seconds "); buildConstraints(add_optical_obs_3_constraints,1,12,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label12,add_optical_obs_3_constraints); add_optical_obs_3_label12.setFont(font_g); pane.add(add_optical_obs_3_label12); /* Add constraints to add_optical_obs_3_tf21, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,6,12,1,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.WEST); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf21,add_optical_obs_3_constraints); add_optical_obs_3_tf21.setFont(font_f); pane.add(add_optical_obs_3_tf21); /* Add constraints to add_optical_obs_3_blank46, then add it to pane */ JLabel add_optical_obs_3_blank46 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,7,12,13,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank46,add_optical_obs_3_constraints); add_optical_obs_3_blank46.setFont(font_f); pane.add(add_optical_obs_3_blank46); /* Add constraints to add_optical_obs_3_blank51, then add it to pane */ JLabel add_optical_obs_3_blank51 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,13,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank51,add_optical_obs_3_constraints); add_optical_obs_3_blank51.setFont(font_f); pane.add(add_optical_obs_3_blank51); /* Add constraints to add_optical_obs_3_blank50, then add it to pane */ JLabel add_optical_obs_3_blank50 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,14,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank50,add_optical_obs_3_constraints); add_optical_obs_3_blank50.setFont(font_f); pane.add(add_optical_obs_3_blank50); /* Add constraints to add_optical_obs_3_label13, then add it to pane */ JLabel add_optical_obs_3_label13 = new JLabel("Earth's Ang Velocity "); buildConstraints(add_optical_obs_3_constraints,1,14,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label13,add_optical_obs_3_constraints); add_optical_obs_3_label13.setFont(font_g); pane.add(add_optical_obs_3_label13); /* Add constraints to add_optical_obs_3_tf22, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,6,14,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.WEST); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_tf22,add_optical_obs_3_constraints); add_optical_obs_3_tf22.setFont(font_f); pane.add(add_optical_obs_3_tf22); /* Add constraints to add_optical_obs_3_label14, then add it to pane */ JLabel add_optical_obs_3_label14 = new JLabel(" microrad/sec"); buildConstraints(add_optical_obs_3_constraints,9,14,4,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label14,add_optical_obs_3_constraints); add_optical_obs_3_label14.setFont(font_f); pane.add(add_optical_obs_3_label14); /* Add constraints to add_optical_obs_3_blank48, then add it to pane */ JLabel add_optical_obs_3_blank48 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,13,14,7,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank48,add_optical_obs_3_constraints); add_optical_obs_3_blank48.setFont(font_f); pane.add(add_optical_obs_3_blank48); /* Add constraints to add_optical_obs_3_blank47, then add it to pane */ JLabel add_optical_obs_3_blank47 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,15,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank47,add_optical_obs_3_constraints); add_optical_obs_3_blank47.setFont(font_f); pane.add(add_optical_obs_3_blank47); /* Add constraints to add_optical_obs_3_blank60, then add it to pane */ JLabel add_optical_obs_3_blank60 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,16,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank60,add_optical_obs_3_constraints); add_optical_obs_3_blank60.setFont(font_f); pane.add(add_optical_obs_3_blank60); /* Add constraints to add_optical_obs_3_b1, add a listener, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,9,16,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_b1,add_optical_obs_3_constraints); add_optical_obs_3_b1.addActionListener(this); add_optical_obs_3_b1.setFont(font_f); pane.add(add_optical_obs_3_b1); /* Add constraints to add_optical_obs_3_blank61, then add it to pane */ JLabel add_optical_obs_3_blank61 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,11,16,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank61,add_optical_obs_3_constraints); add_optical_obs_3_blank61.setFont(font_f); pane.add(add_optical_obs_3_blank61); /* Add constraints to add_optical_obs_3_blank62, then add it to pane */ JLabel add_optical_obs_3_blank62 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,17,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank62,add_optical_obs_3_constraints); add_optical_obs_3_blank62.setFont(font_f); pane.add(add_optical_obs_3_blank62); /* Add constraints to add_optical_obs_3_blank162, then add it to pane */ JLabel add_optical_obs_3_blank162 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,18,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank162,add_optical_obs_3_constraints); add_optical_obs_3_blank162.setFont(font_f); pane.add(add_optical_obs_3_blank162); /* Add constraints to add_optical_obs_3_label21, then add it to pane */ JLabel add_optical_obs_3_label21 = new JLabel("Cancel - Return to Level Two Menu "); buildConstraints(add_optical_obs_3_constraints,0,19,11,1,55,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_label21,add_optical_obs_3_constraints); add_optical_obs_3_label21.setFont(font_f); pane.add(add_optical_obs_3_label21); /* Add constraints to add_optical_obs_3_b2, add a listener, then add it to pane */ buildConstraints(add_optical_obs_3_constraints,11,19,9,1,55,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_b2,add_optical_obs_3_constraints); add_optical_obs_3_b2.addActionListener(this); add_optical_obs_3_b2.setFont(font_f); pane.add(add_optical_obs_3_b2); /* Add constraints to add_optical_obs_3_blank163, then add it to pane */ JLabel add_optical_obs_3_blank163 = new JLabel(" "); buildConstraints(add_optical_obs_3_constraints,0,20,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_optical_obs_3_layout.setConstraints(add_optical_obs_3_blank163,add_optical_obs_3_constraints); add_optical_obs_3_blank163.setFont(font_f); pane.add(add_optical_obs_3_blank163); setContentPane(pane); repaint(); } void add_radar_obs_1() { /* This method provides a screen to enter the time, ra and dec of an radar observation. It reuses the existing pane, which must be cleared and retitled. */ int i = 0; pane.removeAll(); setTitle("minor planet " + mp.current_minor_planet); /* Clear the text fields, so that their contents from a previous call don't reappear */ /* add_radar_obs_1_tf1.setText("0"); add_radar_obs_1_tf2.setText("0"); add_radar_obs_1_tf3.setText("0"); add_radar_obs_1_tf4.setText("0"); add_radar_obs_1_tf5.setText("0"); add_radar_obs_1_tf6.setText("0"); add_radar_obs_1_tf7.setText("0"); add_radar_obs_1_tf8.setText("0"); add_radar_obs_1_tf9.setText("0"); add_radar_obs_1_tf10.setText("0"); add_radar_obs_1_tf11.setText("0"); add_radar_obs_1_tf12.setText("0"); */ /* Define a layout manager for the pane */ GridBagLayout add_radar_obs_1_layout = new GridBagLayout(); GridBagConstraints add_radar_obs_1_constraints = new GridBagConstraints(); pane.setLayout(add_radar_obs_1_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); Font font_g = new Font("monospaced",Font.BOLD,12); Font font_h = new Font("monospaced",Font.BOLD,14); /* Add constraints to add_radar_obs_1_blank1g, then add it to pane */ /* JLabel add_radar_obs_1_blank1g = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,0,11,1,55,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank1g,add_radar_obs_1_constraints); add_radar_obs_1_blank1g.setFont(font_f); pane.add(add_radar_obs_1_blank1g); */ /* Add constraints to add_radar_obs_1_label1g, then add it to pane */ JLabel add_radar_obs_1_label1g = new JLabel(("Radar Observation")); buildConstraints(add_radar_obs_1_constraints,0,0,20,1,100,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label1g,add_radar_obs_1_constraints); add_radar_obs_1_label1g.setFont(font_h); pane.add(add_radar_obs_1_label1g); /* Add constraints to add_radar_obs_1_blank1b, then add it to pane */ /* JLabel add_radar_obs_1_blank1b = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,14,0,6,1,30,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank1b,add_radar_obs_1_constraints); add_radar_obs_1_blank1b.setFont(font_f); pane.add(add_radar_obs_1_blank1b); */ /* Add constraints to add_radar_obs_1_blank1c, then add it to pane */ JLabel add_radar_obs_1_blank1c = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,1,20,1,100,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank1c,add_radar_obs_1_constraints); add_radar_obs_1_blank1c.setFont(font_f); pane.add(add_radar_obs_1_blank1c); /* Add constraints to add_radar_obs_1_blank2, then add it to pane */ /* JLabel add_radar_obs_1_blank2 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,2,3,1,15,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank2,add_radar_obs_1_constraints); add_radar_obs_1_blank2.setFont(font_f); pane.add(add_radar_obs_1_blank2); */ /* Add constraints to add_radar_obs_1_label1, then add it to pane */ JLabel add_radar_obs_1_label1 = new JLabel(("UTC date of observation: ")); buildConstraints(add_radar_obs_1_constraints,0,2,8,1,40,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label1,add_radar_obs_1_constraints); add_radar_obs_1_label1.setFont(font_g); pane.add(add_radar_obs_1_label1); /* Add constraints to add_radar_obs_1_tf7, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,8,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_tf7,add_radar_obs_1_constraints); add_radar_obs_1_tf7.setFont(font_f); pane.add(add_radar_obs_1_tf7); /* Add constraints to add_radar_obs_1_label1a, then add it to pane */ JLabel add_radar_obs_1_label1a = new JLabel((" year")); buildConstraints(add_radar_obs_1_constraints,9,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label1a,add_radar_obs_1_constraints); add_radar_obs_1_label1a.setFont(font_f); pane.add(add_radar_obs_1_label1a); /* Add constraints to add_radar_obs_1_tf8, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,11,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_tf8,add_radar_obs_1_constraints); add_radar_obs_1_tf8.setFont(font_f); pane.add(add_radar_obs_1_tf8); /* Add constraints to add_radar_obs_1_label1b, then add it to pane */ JLabel add_radar_obs_1_label1b = new JLabel((" month")); buildConstraints(add_radar_obs_1_constraints,12,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label1b,add_radar_obs_1_constraints); add_radar_obs_1_label1b.setFont(font_f); pane.add(add_radar_obs_1_label1b); /* Add constraints to add_radar_obs_1_tf9, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,14,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_tf9,add_radar_obs_1_constraints); add_radar_obs_1_tf9.setFont(font_f); pane.add(add_radar_obs_1_tf9); /* Add constraints to add_radar_obs_1_label1c, then add it to pane */ JLabel add_radar_obs_1_label1c = new JLabel((" day")); buildConstraints(add_radar_obs_1_constraints,15,2,5,1,25,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label1c,add_radar_obs_1_constraints); add_radar_obs_1_label1c.setFont(font_f); pane.add(add_radar_obs_1_label1c); /* Add constraints to add_radar_obs_1_tf10, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,0,3,9,1,45,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_tf10,add_radar_obs_1_constraints); add_radar_obs_1_tf10.setFont(font_f); pane.add(add_radar_obs_1_tf10); /* Add constraints to add_radar_obs_1_label1d, then add it to pane */ JLabel add_radar_obs_1_label1d = new JLabel((" hour")); buildConstraints(add_radar_obs_1_constraints,9,3,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label1d,add_radar_obs_1_constraints); add_radar_obs_1_label1d.setFont(font_f); pane.add(add_radar_obs_1_label1d); /* Add constraints to add_radar_obs_1_tf11, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,11,3,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_tf11,add_radar_obs_1_constraints); add_radar_obs_1_tf11.setFont(font_f); pane.add(add_radar_obs_1_tf11); /* Add constraints to add_radar_obs_1_label1e, then add it to pane */ JLabel add_radar_obs_1_label1e = new JLabel((" minute")); buildConstraints(add_radar_obs_1_constraints,12,3,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label1e,add_radar_obs_1_constraints); add_radar_obs_1_label1e.setFont(font_f); pane.add(add_radar_obs_1_label1e); /* Add constraints to add_radar_obs_1_tf12, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,14,3,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_tf12,add_radar_obs_1_constraints); add_radar_obs_1_tf12.setFont(font_f); pane.add(add_radar_obs_1_tf12); /* Add constraints to add_radar_obs_1_label1f, then add it to pane */ JLabel add_radar_obs_1_label1f = new JLabel((" second")); buildConstraints(add_radar_obs_1_constraints,15,3,5,1,25,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label1f,add_radar_obs_1_constraints); add_radar_obs_1_label1f.setFont(font_f); pane.add(add_radar_obs_1_label1f); /* Add constraints to add_radar_obs_1_blank3, then add it to pane */ /* JLabel add_radar_obs_1_blank3 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,16,2,4,1,20,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank3,add_radar_obs_1_constraints); add_radar_obs_1_blank3.setFont(font_f); pane.add(add_radar_obs_1_blank3); */ /* Add constraints to add_radar_obs_1_blank4, then add it to pane */ JLabel add_radar_obs_1_blank4 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,4,20,1,100,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank4,add_radar_obs_1_constraints); add_radar_obs_1_blank4.setFont(font_f); pane.add(add_radar_obs_1_blank4); /* Add constraints to add_radar_obs_1_blank5, then add it to pane */ JLabel add_radar_obs_1_blank5 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,5,7,1,35,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank5,add_radar_obs_1_constraints); add_radar_obs_1_blank5.setFont(font_f); pane.add(add_radar_obs_1_blank5); /* Add constraints to add_radar_obs_1_Delay, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,7,5,3,1,15,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_Delay,add_radar_obs_1_constraints); add_radar_obs_1_Delay.setFont(font_g); pane.add(add_radar_obs_1_Delay); /* Add constraints to add_radar_obs_1_blank6, then add it to pane */ /* JLabel add_radar_obs_1_blank6 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,9,5,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank6,add_radar_obs_1_constraints); add_radar_obs_1_blank6.setFont(font_f); pane.add(add_radar_obs_1_blank6); */ /* Add constraints to add_radar_obs_1_tf2, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,10,5,4,1,20,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_tf2,add_radar_obs_1_constraints); add_radar_obs_1_tf2.setFont(font_f); pane.add(add_radar_obs_1_tf2); /* Add constraints to add_radar_obs_1_label3, then add it to pane */ JLabel add_radar_obs_1_label3 = new JLabel((" microseconds")); buildConstraints(add_radar_obs_1_constraints,14,5,4,1,20,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label3,add_radar_obs_1_constraints); add_radar_obs_1_label3.setFont(font_f); pane.add(add_radar_obs_1_label3); /* Add constraints to add_radar_obs_1_blank7, then add it to pane */ JLabel add_radar_obs_1_blank7 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,18,5,2,1,10,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank7,add_radar_obs_1_constraints); add_radar_obs_1_blank7.setFont(font_f); pane.add(add_radar_obs_1_blank7); /* Add constraints to add_radar_obs_1_blank10, then add it to pane */ JLabel add_radar_obs_1_blank10 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,6,7,1,35,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank10,add_radar_obs_1_constraints); add_radar_obs_1_blank10.setFont(font_f); pane.add(add_radar_obs_1_blank10); /* Add constraints to add_radar_obs_1_label6, then add it to pane */ JLabel add_radar_obs_1_label6 = new JLabel(("Uncertainty ")); buildConstraints(add_radar_obs_1_constraints,7,6,3,1,15,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label6,add_radar_obs_1_constraints); add_radar_obs_1_label6.setFont(font_g); pane.add(add_radar_obs_1_label6); /* Add constraints to add_radar_obs_1_blank64, then add it to pane */ /* JLabel add_radar_obs_1_blank64 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,9,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank64,add_radar_obs_1_constraints); add_radar_obs_1_blank64.setFont(font_f); pane.add(add_radar_obs_1_blank64); */ /* Add constraints to add_radar_obs_1_tf3, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,10,6,4,1,20,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_tf3,add_radar_obs_1_constraints); add_radar_obs_1_tf3.setFont(font_f); pane.add(add_radar_obs_1_tf3); /* Add constraints to add_radar_obs_1_label7, then add it to pane */ JLabel add_radar_obs_1_label7 = new JLabel((" microseconds")); buildConstraints(add_radar_obs_1_constraints,14,6,4,1,20,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label7,add_radar_obs_1_constraints); add_radar_obs_1_label7.setFont(font_f); pane.add(add_radar_obs_1_label7); /* Add constraints to add_radar_obs_1_blank11, then add it to pane */ JLabel add_radar_obs_1_blank11 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,18,6,2,1,10,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank11,add_radar_obs_1_constraints); add_radar_obs_1_blank11.setFont(font_f); pane.add(add_radar_obs_1_blank11); /* Add constraints to add_radar_obs_1_blank12, then add it to pane */ JLabel add_radar_obs_1_blank12 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,7,20,1,100,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank12,add_radar_obs_1_constraints); add_radar_obs_1_blank12.setFont(font_f); pane.add(add_radar_obs_1_blank12); /* Add constraints to add_radar_obs_1_blank13, then add it to pane */ JLabel add_radar_obs_1_blank13 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,8,7,1,35,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank13,add_radar_obs_1_constraints); add_radar_obs_1_blank13.setFont(font_f); pane.add(add_radar_obs_1_blank13); /* Add constraints to add_radar_obs_1_Doppler, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,7,8,3,1,15,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_Doppler,add_radar_obs_1_constraints); add_radar_obs_1_Doppler.setFont(font_g); pane.add(add_radar_obs_1_Doppler); /* Add constraints to add_radar_obs_1_blank14, then add it to pane */ /* JLabel add_radar_obs_1_blank14 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,9,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank14,add_radar_obs_1_constraints); add_radar_obs_1_blank14.setFont(font_f); pane.add(add_radar_obs_1_blank14); */ /* Add constraints to add_radar_obs_1_tf4, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,10,8,4,1,20,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_tf4,add_radar_obs_1_constraints); add_radar_obs_1_tf4.setFont(font_f); pane.add(add_radar_obs_1_tf4); /* Add constraints to add_radar_obs_1_label9, then add it to pane */ JLabel add_radar_obs_1_label9 = new JLabel((" Hz")); buildConstraints(add_radar_obs_1_constraints,14,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label9,add_radar_obs_1_constraints); add_radar_obs_1_label9.setFont(font_f); pane.add(add_radar_obs_1_label9); /* Add constraints to add_radar_obs_1_blank15, then add it to pane */ JLabel add_radar_obs_1_blank15 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,15,8,5,1,25,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank15,add_radar_obs_1_constraints); add_radar_obs_1_blank15.setFont(font_f); pane.add(add_radar_obs_1_blank15); /* Add constraints to add_radar_obs_1_blank18, then add it to pane */ JLabel add_radar_obs_1_blank18 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,9,7,1,35,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank18,add_radar_obs_1_constraints); add_radar_obs_1_blank18.setFont(font_f); pane.add(add_radar_obs_1_blank18); /* Add constraints to add_radar_obs_1_label12, then add it to pane */ JLabel add_radar_obs_1_label12 = new JLabel(("Uncertainty ")); buildConstraints(add_radar_obs_1_constraints,7,9,3,1,15,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label12,add_radar_obs_1_constraints); add_radar_obs_1_label12.setFont(font_g); pane.add(add_radar_obs_1_label12); /* Add constraints to add_radar_obs_1_blank19, then add it to pane */ /* JLabel add_radar_obs_1_blank19 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,9,9,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank19,add_radar_obs_1_constraints); add_radar_obs_1_blank19.setFont(font_f); pane.add(add_radar_obs_1_blank19); */ /* Add constraints to add_radar_obs_1_tf5, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,10,9,4,1,20,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_tf5,add_radar_obs_1_constraints); add_radar_obs_1_tf5.setFont(font_f); pane.add(add_radar_obs_1_tf5); /* Add constraints to add_radar_obs_1_label13, then add it to pane */ JLabel add_radar_obs_1_label13 = new JLabel((" Hz")); buildConstraints(add_radar_obs_1_constraints,14,9,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label13,add_radar_obs_1_constraints); add_radar_obs_1_label13.setFont(font_f); pane.add(add_radar_obs_1_label13); /* Add constraints to add_radar_obs_1_blank20, then add it to pane */ JLabel add_radar_obs_1_blank20 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,15,9,5,1,25,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank20,add_radar_obs_1_constraints); add_radar_obs_1_blank20.setFont(font_f); pane.add(add_radar_obs_1_blank20); /* Add constraints to add_radar_obs_1_blank22, then add it to pane */ JLabel add_radar_obs_1_blank22 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,10,20,1,100,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank22,add_radar_obs_1_constraints); add_radar_obs_1_blank22.setFont(font_f); pane.add(add_radar_obs_1_blank22); /* Add constraints to add_radar_obs_1_blank23, then add it to pane */ JLabel add_radar_obs_1_blank23 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,11,8,1,40,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank23,add_radar_obs_1_constraints); add_radar_obs_1_blank23.setFont(font_f); pane.add(add_radar_obs_1_blank23); /* Add constraints to add_radar_obs_1_label15, then add it to pane */ JLabel add_radar_obs_1_label15 = new JLabel(("Transmitter Frequency")); buildConstraints(add_radar_obs_1_constraints,8,11,2,1,10,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label15,add_radar_obs_1_constraints); add_radar_obs_1_label15.setFont(font_g); pane.add(add_radar_obs_1_label15); /* Add constraints to add_radar_obs_1_tf6, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,10,11,2,1,10,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_tf6,add_radar_obs_1_constraints); add_radar_obs_1_tf6.setFont(font_f); pane.add(add_radar_obs_1_tf6); /* Add constraints to add_radar_obs_1_label14, then add it to pane */ JLabel add_radar_obs_1_label14 = new JLabel((" MHz")); buildConstraints(add_radar_obs_1_constraints,12,11,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label14,add_radar_obs_1_constraints); add_radar_obs_1_label14.setFont(font_f); pane.add(add_radar_obs_1_label14); /* Add constraints to add_radar_obs_1_blank25, then add it to pane */ JLabel add_radar_obs_1_blank25 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,13,11,7,1,35,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank25,add_radar_obs_1_constraints); add_radar_obs_1_blank25.setFont(font_f); pane.add(add_radar_obs_1_blank25); /* Add constraints to add_radar_obs_1_blank26, then add it to pane */ JLabel add_radar_obs_1_blank26 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,12,20,1,100,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank26,add_radar_obs_1_constraints); add_radar_obs_1_blank26.setFont(font_f); pane.add(add_radar_obs_1_blank26); /* Add constraints to add_radar_obs_1_blank60, then add it to pane */ JLabel add_radar_obs_1_blank60 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,13,10,1,50,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank60,add_radar_obs_1_constraints); add_radar_obs_1_blank60.setFont(font_f); pane.add(add_radar_obs_1_blank60); /* Add constraints to add_radar_obs_1_b1, add a listener, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,10,13,2,1,10,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_b1,add_radar_obs_1_constraints); add_radar_obs_1_b1.addActionListener(this); add_radar_obs_1_b1.setFont(font_f); pane.add(add_radar_obs_1_b1); /* Add constraints to add_radar_obs_1_blank61, then add it to pane */ JLabel add_radar_obs_1_blank61 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,12,13,8,1,40,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank61,add_radar_obs_1_constraints); add_radar_obs_1_blank61.setFont(font_f); pane.add(add_radar_obs_1_blank61); /* Add constraints to add_radar_obs_1_blank62, then add it to pane */ JLabel add_radar_obs_1_blank62 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,14,20,1,100,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank62,add_radar_obs_1_constraints); add_radar_obs_1_blank62.setFont(font_f); pane.add(add_radar_obs_1_blank62); /* Add constraints to add_radar_obs_1_blank65, then add it to pane */ JLabel add_radar_obs_1_blank65 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,15,20,1,100,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank65,add_radar_obs_1_constraints); add_radar_obs_1_blank65.setFont(font_f); pane.add(add_radar_obs_1_blank65); /* Add constraints to add_radar_obs_1_label18, then add it to pane */ JLabel add_radar_obs_1_label18 = new JLabel("Cancel - Return to Level Two Menu "); buildConstraints(add_radar_obs_1_constraints,0,16,11,1,55,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_label18,add_radar_obs_1_constraints); add_radar_obs_1_label18.setFont(font_h); pane.add(add_radar_obs_1_label18); /* Add constraints to add_radar_obs_1_b2, add a listener, then add it to pane */ buildConstraints(add_radar_obs_1_constraints,11,16,9,1,45,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_b2,add_radar_obs_1_constraints); add_radar_obs_1_b2.addActionListener(this); add_radar_obs_1_b2.setFont(font_f); pane.add(add_radar_obs_1_b2); /* Add constraints to add_radar_obs_1_blank66, then add it to pane */ JLabel add_radar_obs_1_blank66 = new JLabel(" "); buildConstraints(add_radar_obs_1_constraints,0,17,20,1,100,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_1_layout.setConstraints(add_radar_obs_1_blank66,add_radar_obs_1_constraints); add_radar_obs_1_blank66.setFont(font_f); pane.add(add_radar_obs_1_blank66); setContentPane(pane); repaint(); } void cancel_radar_obs_1() { /* Method to reset the input delay or doppler of a radar observation. The output will be MinorPlanet instance variables. */ int index = 0; /* First, depending on the type of observation (delay or doppler), decrement the number of observations, calculate the index based on the observation we're canceling, and reset the observation type. */ if (add_radar_obs_1_Delay.getState()) { mp.number_of_delay_observations = mp.number_of_delay_observations - 1; index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations + 1; mp.observation_type[index] = 0; } else { mp.number_of_doppler_observations = mp.number_of_doppler_observations - 1; index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations + 1; mp.observation_type[index] = 0; } /* Reset the input UTC jultime at the receiver of the radar observation. */ mp.radar_delay_receiver_time[index] = 0.0; mp.radar_doppler_receiver_time[index] = 0.0; /* Reset the input delay/doppler and uncertainty, and the transmitter frequency. */ mp.radar_delay[index] = 0.0; mp.delay_dev[index] = 0.0; mp.radar_delay_transmitter_frequency[index] = 0.0; mp.radar_doppler[index] = 0.0; mp.doppler_dev[index] = 0.0; mp.radar_doppler_transmitter_frequency[index] = 0.0; } void add_radar_obs_2() { /* This method provides a screen to enter the latitude, longitude and altitude of the transmitting and receiving sites for an radar observation. It reuses the existing pane, which must be cleared and retitled. */ int i = 0; pane.removeAll(); setTitle("minor planet " + mp.current_minor_planet); /* Clear the text fields, so that their contents from a previous call don't reappear */ /* add_radar_obs_2_tf1.setText("0"); add_radar_obs_2_tf2.setText("0"); add_radar_obs_2_tf3.setText("0"); add_radar_obs_2_tf4.setText("0"); add_radar_obs_2_tf5.setText("0"); add_radar_obs_2_tf6.setText("0"); add_radar_obs_2_tf7.setText("0"); add_radar_obs_2_tf8.setText("0"); add_radar_obs_2_tf9.setText("0"); add_radar_obs_2_tf10.setText("0"); add_radar_obs_2_tf11.setText("0"); add_radar_obs_2_tf12.setText("0"); add_radar_obs_2_tf13.setText("0"); add_radar_obs_2_tf14.setText("0"); */ /* Define a layout manager for the pane */ GridBagLayout add_radar_obs_2_layout = new GridBagLayout(); GridBagConstraints add_radar_obs_2_constraints = new GridBagConstraints(); pane.setLayout(add_radar_obs_2_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); Font font_g = new Font("monospaced",Font.BOLD,12); Font font_h = new Font("monospaced",Font.BOLD,14); /* Add constraints to add_radar_obs_2_blank2a, then add it to pane */ JLabel add_radar_obs_2_blank2a = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,0,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank2a,add_radar_obs_2_constraints); add_radar_obs_2_blank2a.setFont(font_f); pane.add(add_radar_obs_2_blank2a); /* Add constraints to add_radar_obs_2_label1a, then add it to pane */ JLabel add_radar_obs_2_label1a = new JLabel(("Location of Transmitting Site")); buildConstraints(add_radar_obs_2_constraints,9,0,7,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label1a,add_radar_obs_2_constraints); add_radar_obs_2_label1a.setFont(font_h); pane.add(add_radar_obs_2_label1a); /* Add constraints to add_radar_obs_2_blank2b, then add it to pane */ JLabel add_radar_obs_2_blank2b = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,16,0,4,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank2b,add_radar_obs_2_constraints); add_radar_obs_2_blank2b.setFont(font_f); pane.add(add_radar_obs_2_blank2b); /* Add constraints to add_radar_obs_2_blank3, then add it to pane */ JLabel add_radar_obs_2_blank3 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,1,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank3,add_radar_obs_2_constraints); add_radar_obs_2_blank3.setFont(font_f); pane.add(add_radar_obs_2_blank3); /* Add constraints to add_radar_obs_2_xmtr_Arecibo, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,1,2,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_xmtr_Arecibo,add_radar_obs_2_constraints); add_radar_obs_2_xmtr_Arecibo.setFont(font_g); pane.add(add_radar_obs_2_xmtr_Arecibo); /* Add constraints to add_radar_obs_2_xmtr_DSS13, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,5,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_xmtr_DSS13,add_radar_obs_2_constraints); add_radar_obs_2_xmtr_DSS13.setFont(font_g); pane.add(add_radar_obs_2_xmtr_DSS13); /* Add constraints to add_radar_obs_2_xmtr_DSS14, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,9,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_xmtr_DSS14,add_radar_obs_2_constraints); add_radar_obs_2_xmtr_DSS14.setFont(font_g); pane.add(add_radar_obs_2_xmtr_DSS14); /* Add constraints to add_radar_obs_2_xmtr_other, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,11,2,7,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_xmtr_other,add_radar_obs_2_constraints); add_radar_obs_2_xmtr_other.setFont(font_g); pane.add(add_radar_obs_2_xmtr_other); /* Add constraints to add_radar_obs_2_blank4, then add it to pane */ JLabel add_radar_obs_2_blank4 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,3,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank4,add_radar_obs_2_constraints); add_radar_obs_2_blank4.setFont(font_f); pane.add(add_radar_obs_2_blank4); /* Add constraints to add_radar_obs_2_label1, then add it to pane */ JLabel add_radar_obs_2_label1 = new JLabel(("Geodetic Latitude")); buildConstraints(add_radar_obs_2_constraints,1,3,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label1,add_radar_obs_2_constraints); add_radar_obs_2_label1.setFont(font_g); pane.add(add_radar_obs_2_label1); /* Add constraints to add_radar_obs_2_tf1, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,6,3,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf1,add_radar_obs_2_constraints); add_radar_obs_2_tf1.setFont(font_f); pane.add(add_radar_obs_2_tf1); /* Add constraints to add_radar_obs_2_label2, then add it to pane */ JLabel add_radar_obs_2_label2 = new JLabel((" deg")); buildConstraints(add_radar_obs_2_constraints,9,3,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label2,add_radar_obs_2_constraints); add_radar_obs_2_label2.setFont(font_f); pane.add(add_radar_obs_2_label2); /* Add constraints to add_radar_obs_2_blank7, then add it to pane */ /* JLabel add_radar_obs_2_blank7 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,10,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank7,add_radar_obs_2_constraints); add_radar_obs_2_blank7.setFont(font_f); pane.add(add_radar_obs_2_blank7); */ /* Add constraints to add_radar_obs_2_tf2, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,11,3,1,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf2,add_radar_obs_2_constraints); add_radar_obs_2_tf2.setFont(font_f); pane.add(add_radar_obs_2_tf2); /* Add constraints to add_radar_obs_2_label3, then add it to pane */ JLabel add_radar_obs_2_label3 = new JLabel((" arc mins")); buildConstraints(add_radar_obs_2_constraints,12,3,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label3,add_radar_obs_2_constraints); add_radar_obs_2_label3.setFont(font_f); pane.add(add_radar_obs_2_label3); /* Add constraints to add_radar_obs_2_blank8, then add it to pane */ /* JLabel add_radar_obs_2_blank8 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,15,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank8,add_radar_obs_2_constraints); add_radar_obs_2_blank8.setFont(font_f); pane.add(add_radar_obs_2_blank8); */ /* Add constraints to add_radar_obs_2_tf3, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,15,3,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf3,add_radar_obs_2_constraints); add_radar_obs_2_tf3.setFont(font_f); pane.add(add_radar_obs_2_tf3); /* Add constraints to add_radar_obs_2_label4, then add it to pane */ JLabel add_radar_obs_2_label4 = new JLabel((" arc secs")); buildConstraints(add_radar_obs_2_constraints,17,3,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label4,add_radar_obs_2_constraints); add_radar_obs_2_label4.setFont(font_f); pane.add(add_radar_obs_2_label4); /* Add constraints to add_radar_obs_2_blank10, then add it to pane */ /* JLabel add_radar_obs_2_blank10 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,4,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank10,add_radar_obs_2_constraints); add_radar_obs_2_blank10.setFont(font_f); pane.add(add_radar_obs_2_blank10); */ /* Add constraints to add_radar_obs_2_blank12, then add it to pane */ /* JLabel add_radar_obs_2_blank12 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,5,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank12,add_radar_obs_2_constraints); add_radar_obs_2_blank12.setFont(font_f); pane.add(add_radar_obs_2_blank12); */ /* Add constraints to add_radar_obs_2_blank13, then add it to pane */ JLabel add_radar_obs_2_blank13 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank13,add_radar_obs_2_constraints); add_radar_obs_2_blank13.setFont(font_f); pane.add(add_radar_obs_2_blank13); /* Add constraints to add_radar_obs_2_label5, then add it to pane */ JLabel add_radar_obs_2_label5 = new JLabel(("East Longitude")); buildConstraints(add_radar_obs_2_constraints,1,4,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label5,add_radar_obs_2_constraints); add_radar_obs_2_label5.setFont(font_g); pane.add(add_radar_obs_2_label5); /* Add constraints to add_radar_obs_2_blank14, then add it to pane */ /* JLabel add_radar_obs_2_blank14 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,4,4,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank14,add_radar_obs_2_constraints); add_radar_obs_2_blank14.setFont(font_f); pane.add(add_radar_obs_2_blank14); */ /* Add constraints to add_radar_obs_2_tf4, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,6,4,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf4,add_radar_obs_2_constraints); add_radar_obs_2_tf4.setFont(font_f); pane.add(add_radar_obs_2_tf4); /* Add constraints to add_radar_obs_2_label6, then add it to pane */ JLabel add_radar_obs_2_label6 = new JLabel((" deg")); buildConstraints(add_radar_obs_2_constraints,9,4,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label6,add_radar_obs_2_constraints); add_radar_obs_2_label6.setFont(font_f); pane.add(add_radar_obs_2_label6); /* Add constraints to add_radar_obs_2_blank15, then add it to pane */ /* JLabel add_radar_obs_2_blank15 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,10,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank15,add_radar_obs_2_constraints); add_radar_obs_2_blank15.setFont(font_f); pane.add(add_radar_obs_2_blank15); */ /* Add constraints to add_radar_obs_2_tf5, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,11,4,1,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf5,add_radar_obs_2_constraints); add_radar_obs_2_tf5.setFont(font_f); pane.add(add_radar_obs_2_tf5); /* Add constraints to add_radar_obs_2_label7, then add it to pane */ JLabel add_radar_obs_2_label7 = new JLabel((" arc mins")); buildConstraints(add_radar_obs_2_constraints,12,4,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label7,add_radar_obs_2_constraints); add_radar_obs_2_label7.setFont(font_f); pane.add(add_radar_obs_2_label7); /* Add constraints to add_radar_obs_2_blank16, then add it to pane */ /* JLabel add_radar_obs_2_blank16 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,14,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank16,add_radar_obs_2_constraints); add_radar_obs_2_blank16.setFont(font_f); pane.add(add_radar_obs_2_blank16); */ /* Add constraints to add_radar_obs_2_tf6, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,15,4,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf6,add_radar_obs_2_constraints); add_radar_obs_2_tf6.setFont(font_f); pane.add(add_radar_obs_2_tf6); /* Add constraints to add_radar_obs_2_label8, then add it to pane */ JLabel add_radar_obs_2_label8 = new JLabel((" arc secs")); buildConstraints(add_radar_obs_2_constraints,17,4,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label8,add_radar_obs_2_constraints); add_radar_obs_2_label8.setFont(font_f); pane.add(add_radar_obs_2_label8); /* Add constraints to add_radar_obs_2_blank17, then add it to pane */ /* JLabel add_radar_obs_2_blank17 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,19,3,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank17,add_radar_obs_2_constraints); add_radar_obs_2_blank17.setFont(font_f); pane.add(add_radar_obs_2_blank17); */ /* Add constraints to add_radar_obs_2_blank18, then add it to pane */ /* JLabel add_radar_obs_2_blank18 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,7,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank18,add_radar_obs_2_constraints); add_radar_obs_2_blank18.setFont(font_f); pane.add(add_radar_obs_2_blank18); */ /* Add constraints to add_radar_obs_2_blank21, then add it to pane */ /* JLabel add_radar_obs_2_blank21 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,8,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank21,add_radar_obs_2_constraints); add_radar_obs_2_blank21.setFont(font_f); pane.add(add_radar_obs_2_blank21); */ /* Add constraints to add_radar_obs_2_blank22, then add it to pane */ JLabel add_radar_obs_2_blank22 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,5,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank22,add_radar_obs_2_constraints); add_radar_obs_2_blank22.setFont(font_f); pane.add(add_radar_obs_2_blank22); /* Add constraints to add_radar_obs_2_label9, then add it to pane */ JLabel add_radar_obs_2_label9 = new JLabel(("Altitude")); buildConstraints(add_radar_obs_2_constraints,1,5,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label9,add_radar_obs_2_constraints); add_radar_obs_2_label9.setFont(font_g); pane.add(add_radar_obs_2_label9); /* Add constraints to add_radar_obs_2_blank23, then add it to pane */ JLabel add_radar_obs_2_blank23 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,4,5,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank23,add_radar_obs_2_constraints); add_radar_obs_2_blank23.setFont(font_f); pane.add(add_radar_obs_2_blank23); /* Add constraints to add_radar_obs_2_tf7, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,7,5,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf7,add_radar_obs_2_constraints); add_radar_obs_2_tf7.setFont(font_f); pane.add(add_radar_obs_2_tf7); /* Add constraints to add_radar_obs_2_label10, then add it to pane */ JLabel add_radar_obs_2_label10 = new JLabel((" meters")); buildConstraints(add_radar_obs_2_constraints,9,5,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label10,add_radar_obs_2_constraints); add_radar_obs_2_label10.setFont(font_f); pane.add(add_radar_obs_2_label10); /* Add constraints to add_radar_obs_2_blank24, then add it to pane */ JLabel add_radar_obs_2_blank24 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,11,5,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank24,add_radar_obs_2_constraints); add_radar_obs_2_blank24.setFont(font_f); pane.add(add_radar_obs_2_blank24); /* Add constraints to add_radar_obs_2_blank25, then add it to pane */ JLabel add_radar_obs_2_blank25 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,6,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank25,add_radar_obs_2_constraints); add_radar_obs_2_blank25.setFont(font_f); pane.add(add_radar_obs_2_blank25); /* Add constraints to add_radar_obs_2_blank102a, then add it to pane */ JLabel add_radar_obs_2_blank102a = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,7,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank102a,add_radar_obs_2_constraints); add_radar_obs_2_blank102a.setFont(font_f); pane.add(add_radar_obs_2_blank102a); /* Add constraints to add_radar_obs_2_label101a, then add it to pane */ JLabel add_radar_obs_2_label101a = new JLabel(("Location of Receiving Site")); buildConstraints(add_radar_obs_2_constraints,9,7,7,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label101a,add_radar_obs_2_constraints); add_radar_obs_2_label101a.setFont(font_h); pane.add(add_radar_obs_2_label101a); /* Add constraints to add_radar_obs_2_blank102b, then add it to pane */ JLabel add_radar_obs_2_blank102b = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,16,7,4,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank102b,add_radar_obs_2_constraints); add_radar_obs_2_blank102b.setFont(font_f); pane.add(add_radar_obs_2_blank102b); /* Add constraints to add_radar_obs_2_blank103, then add it to pane */ JLabel add_radar_obs_2_blank103 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,8,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank103,add_radar_obs_2_constraints); add_radar_obs_2_blank103.setFont(font_f); pane.add(add_radar_obs_2_blank103); /* Add constraints to add_radar_obs_2_rcvr_Arecibo, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,1,9,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_rcvr_Arecibo,add_radar_obs_2_constraints); add_radar_obs_2_rcvr_Arecibo.setFont(font_g); pane.add(add_radar_obs_2_rcvr_Arecibo); /* Add constraints to add_radar_obs_2_rcvr_DSS13, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,5,9,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_rcvr_DSS13,add_radar_obs_2_constraints); add_radar_obs_2_rcvr_DSS13.setFont(font_g); pane.add(add_radar_obs_2_rcvr_DSS13); /* Add constraints to add_radar_obs_2_rcvr_DSS14, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,9,9,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_rcvr_DSS14,add_radar_obs_2_constraints); add_radar_obs_2_rcvr_DSS14.setFont(font_g); pane.add(add_radar_obs_2_rcvr_DSS14); /* Add constraints to add_radar_obs_2_rcvr_other, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,11,9,7,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_rcvr_other,add_radar_obs_2_constraints); add_radar_obs_2_rcvr_other.setFont(font_g); pane.add(add_radar_obs_2_rcvr_other); /* Add constraints to add_radar_obs_2_blank104, then add it to pane */ JLabel add_radar_obs_2_blank104 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank104,add_radar_obs_2_constraints); add_radar_obs_2_blank104.setFont(font_f); pane.add(add_radar_obs_2_blank104); /* Add constraints to add_radar_obs_2_label101, then add it to pane */ JLabel add_radar_obs_2_label101 = new JLabel(("Geodetic Latitude")); buildConstraints(add_radar_obs_2_constraints,1,10,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label101,add_radar_obs_2_constraints); add_radar_obs_2_label101.setFont(font_g); pane.add(add_radar_obs_2_label101); /* Add constraints to add_radar_obs_2_tf8, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,6,10,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf8,add_radar_obs_2_constraints); add_radar_obs_2_tf8.setFont(font_f); pane.add(add_radar_obs_2_tf8); /* Add constraints to add_radar_obs_2_label102, then add it to pane */ JLabel add_radar_obs_2_label102 = new JLabel((" deg")); buildConstraints(add_radar_obs_2_constraints,9,10,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label102,add_radar_obs_2_constraints); add_radar_obs_2_label102.setFont(font_f); pane.add(add_radar_obs_2_label102); /* Add constraints to add_radar_obs_2_tf9, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,11,10,1,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf9,add_radar_obs_2_constraints); add_radar_obs_2_tf9.setFont(font_f); pane.add(add_radar_obs_2_tf9); /* Add constraints to add_radar_obs_2_label103, then add it to pane */ JLabel add_radar_obs_2_label103 = new JLabel((" arc mins")); buildConstraints(add_radar_obs_2_constraints,12,10,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label103,add_radar_obs_2_constraints); add_radar_obs_2_label103.setFont(font_f); pane.add(add_radar_obs_2_label103); /* Add constraints to add_radar_obs_2_tf10, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,15,10,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf10,add_radar_obs_2_constraints); add_radar_obs_2_tf10.setFont(font_f); pane.add(add_radar_obs_2_tf10); /* Add constraints to add_radar_obs_2_label104, then add it to pane */ JLabel add_radar_obs_2_label104 = new JLabel((" arc secs")); buildConstraints(add_radar_obs_2_constraints,17,10,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label104,add_radar_obs_2_constraints); add_radar_obs_2_label104.setFont(font_f); pane.add(add_radar_obs_2_label104); /* Add constraints to add_radar_obs_2_blank1013, then add it to pane */ JLabel add_radar_obs_2_blank1013 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,11,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank1013,add_radar_obs_2_constraints); add_radar_obs_2_blank1013.setFont(font_f); pane.add(add_radar_obs_2_blank1013); /* Add constraints to add_radar_obs_2_label105, then add it to pane */ JLabel add_radar_obs_2_label105 = new JLabel(("East Longitude")); buildConstraints(add_radar_obs_2_constraints,1,11,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label105,add_radar_obs_2_constraints); add_radar_obs_2_label105.setFont(font_g); pane.add(add_radar_obs_2_label105); /* Add constraints to add_radar_obs_2_blank1014, then add it to pane */ /* JLabel add_radar_obs_2_blank1014 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,4,11,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank1014,add_radar_obs_2_constraints); add_radar_obs_2_blank1014.setFont(font_f); pane.add(add_radar_obs_2_blank1014); */ /* Add constraints to add_radar_obs_2_tf11, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,6,11,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf11,add_radar_obs_2_constraints); add_radar_obs_2_tf11.setFont(font_f); pane.add(add_radar_obs_2_tf11); /* Add constraints to add_radar_obs_2_label106, then add it to pane */ JLabel add_radar_obs_2_label106 = new JLabel((" deg")); buildConstraints(add_radar_obs_2_constraints,9,11,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label106,add_radar_obs_2_constraints); add_radar_obs_2_label106.setFont(font_f); pane.add(add_radar_obs_2_label106); /* Add constraints to add_radar_obs_2_tf12, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,11,11,1,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf12,add_radar_obs_2_constraints); add_radar_obs_2_tf12.setFont(font_f); pane.add(add_radar_obs_2_tf12); /* Add constraints to add_radar_obs_2_label107, then add it to pane */ JLabel add_radar_obs_2_label107 = new JLabel((" arc mins")); buildConstraints(add_radar_obs_2_constraints,12,11,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label107,add_radar_obs_2_constraints); add_radar_obs_2_label107.setFont(font_f); pane.add(add_radar_obs_2_label107); /* Add constraints to add_radar_obs_2_tf13, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,15,11,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf13,add_radar_obs_2_constraints); add_radar_obs_2_tf13.setFont(font_f); pane.add(add_radar_obs_2_tf13); /* Add constraints to add_radar_obs_2_label108, then add it to pane */ JLabel add_radar_obs_2_label108 = new JLabel((" arc secs")); buildConstraints(add_radar_obs_2_constraints,17,11,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label108,add_radar_obs_2_constraints); add_radar_obs_2_label108.setFont(font_f); pane.add(add_radar_obs_2_label108); /* Add constraints to add_radar_obs_2_blank1022, then add it to pane */ JLabel add_radar_obs_2_blank1022 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,12,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank1022,add_radar_obs_2_constraints); add_radar_obs_2_blank1022.setFont(font_f); pane.add(add_radar_obs_2_blank1022); /* Add constraints to add_radar_obs_2_label109, then add it to pane */ JLabel add_radar_obs_2_label109 = new JLabel(("Altitude")); buildConstraints(add_radar_obs_2_constraints,1,12,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label109,add_radar_obs_2_constraints); add_radar_obs_2_label109.setFont(font_g); pane.add(add_radar_obs_2_label109); /* Add constraints to add_radar_obs_2_blank1023, then add it to pane */ JLabel add_radar_obs_2_blank1023 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,4,12,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank1023,add_radar_obs_2_constraints); add_radar_obs_2_blank1023.setFont(font_f); pane.add(add_radar_obs_2_blank1023); /* Add constraints to add_radar_obs_2_tf14, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,7,12,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_tf14,add_radar_obs_2_constraints); add_radar_obs_2_tf14.setFont(font_f); pane.add(add_radar_obs_2_tf14); /* Add constraints to add_radar_obs_2_label1010, then add it to pane */ JLabel add_radar_obs_2_label1010 = new JLabel((" meters")); buildConstraints(add_radar_obs_2_constraints,9,12,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label1010,add_radar_obs_2_constraints); add_radar_obs_2_label1010.setFont(font_f); pane.add(add_radar_obs_2_label1010); /* Add constraints to add_radar_obs_2_blank1024, then add it to pane */ JLabel add_radar_obs_2_blank1024 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,11,12,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank1024,add_radar_obs_2_constraints); add_radar_obs_2_blank1024.setFont(font_f); pane.add(add_radar_obs_2_blank1024); /* Add constraints to add_radar_obs_2_blank26, then add it to pane */ JLabel add_radar_obs_2_blank26 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,13,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank26,add_radar_obs_2_constraints); add_radar_obs_2_blank26.setFont(font_f); pane.add(add_radar_obs_2_blank26); /* Add constraints to add_radar_obs_2_blank60, then add it to pane */ JLabel add_radar_obs_2_blank60 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,14,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank60,add_radar_obs_2_constraints); add_radar_obs_2_blank60.setFont(font_f); pane.add(add_radar_obs_2_blank60); /* Add constraints to add_radar_obs_2_b1, add a listener, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,9,14,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_b1,add_radar_obs_2_constraints); add_radar_obs_2_b1.addActionListener(this); add_radar_obs_2_b1.setFont(font_f); pane.add(add_radar_obs_2_b1); /* Add constraints to add_radar_obs_2_blank61, then add it to pane */ JLabel add_radar_obs_2_blank61 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,11,14,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank61,add_radar_obs_2_constraints); add_radar_obs_2_blank61.setFont(font_f); pane.add(add_radar_obs_2_blank61); /* Add constraints to add_radar_obs_2_blank62, then add it to pane */ JLabel add_radar_obs_2_blank62 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,15,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank62,add_radar_obs_2_constraints); add_radar_obs_2_blank62.setFont(font_f); pane.add(add_radar_obs_2_blank62); /* Add constraints to add_radar_obs_2_blank162, then add it to pane */ JLabel add_radar_obs_2_blank162 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,16,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank162,add_radar_obs_2_constraints); add_radar_obs_2_blank162.setFont(font_f); pane.add(add_radar_obs_2_blank162); /* Add constraints to add_radar_obs_2_label21, then add it to pane */ JLabel add_radar_obs_2_label21 = new JLabel("Cancel - Return to Level Two Menu "); buildConstraints(add_radar_obs_2_constraints,0,17,11,1,55,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_label21,add_radar_obs_2_constraints); add_radar_obs_2_label21.setFont(font_f); pane.add(add_radar_obs_2_label21); /* Add constraints to add_radar_obs_2_b2, add a listener, then add it to pane */ buildConstraints(add_radar_obs_2_constraints,11,17,9,1,55,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_b2,add_radar_obs_2_constraints); add_radar_obs_2_b2.addActionListener(this); add_radar_obs_2_b2.setFont(font_f); pane.add(add_radar_obs_2_b2); /* Add constraints to add_radar_obs_2_blank163, then add it to pane */ JLabel add_radar_obs_2_blank163 = new JLabel(" "); buildConstraints(add_radar_obs_2_constraints,0,18,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_2_layout.setConstraints(add_radar_obs_2_blank163,add_radar_obs_2_constraints); add_radar_obs_2_blank163.setFont(font_f); pane.add(add_radar_obs_2_blank163); setContentPane(pane); repaint(); } void cancel_radar_obs_2() { /* Method to reset the input delay/doppler and locations of a radar observation. The output will be MinorPlanet instance variables. */ int index = 0; /* First, depending on the type of observation (delay or doppler), decrement the number of observations, calculate the index based on the observation we're canceling, and reset the observation type. */ if (add_radar_obs_1_Delay.getState()) { mp.number_of_delay_observations = mp.number_of_delay_observations - 1; index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations + 1; mp.observation_type[index] = 0; } else { mp.number_of_doppler_observations = mp.number_of_doppler_observations - 1; index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations + 1; mp.observation_type[index] = 0; } /* Reset the input UTC jultime at the receiver of the radar observation. */ mp.radar_delay_receiver_time[index] = 0.0; mp.radar_doppler_receiver_time[index] = 0.0; /* Reset the input delay/doppler and uncertainty, and the transmitter frequency. */ mp.radar_delay[index] = 0.0; mp.delay_dev[index] = 0.0; mp.radar_delay_transmitter_frequency[index] = 0.0; mp.radar_doppler[index] = 0.0; mp.doppler_dev[index] = 0.0; mp.radar_doppler_transmitter_frequency[index] = 0.0; mp.radar_delay_transmitter_latitude[index] = 0.0; mp.radar_delay_transmitter_longitude[index] = 0.0; mp.radar_delay_transmitter_altitude[index] = 0.0; mp.radar_doppler_transmitter_latitude[index] = 0.0; mp.radar_doppler_transmitter_longitude[index] = 0.0; mp.radar_doppler_transmitter_altitude[index] = 0.0; mp.radar_delay_receiver_latitude[index] = 0.0; mp.radar_delay_receiver_longitude[index] = 0.0; mp.radar_delay_receiver_altitude[index] = 0.0; mp.radar_doppler_receiver_latitude[index] = 0.0; mp.radar_doppler_receiver_longitude[index] = 0.0; mp.radar_doppler_receiver_altitude[index] = 0.0; } void add_radar_obs_3() { /* This method provides a screen to enter the Earth Orientation Parameters for a radar observation. It reuses the existing pane, which must be cleared and retitled. */ int i = 0, index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; String day = " "; pane.removeAll(); setTitle("minor planet " + mp.current_minor_planet); /* Set the text fields to zero, so that their contents from a previous call don't reappear, and as a useful default */ /* add_radar_obs_3_tf1.setText("0"); add_radar_obs_3_tf2.setText("0"); add_radar_obs_3_tf3.setText("0"); add_radar_obs_3_tf4.setText("0"); add_radar_obs_3_tf5.setText("0"); add_radar_obs_3_tf6.setText("0"); add_radar_obs_3_tf7.setText("0"); add_radar_obs_3_tf8.setText("0"); add_radar_obs_3_tf9.setText("0"); add_radar_obs_3_tf10.setText("0"); add_radar_obs_3_tf11.setText("0"); add_radar_obs_3_tf12.setText("0"); add_radar_obs_3_tf13.setText("0"); add_radar_obs_3_tf14.setText("0"); add_radar_obs_3_tf15.setText("0"); add_radar_obs_3_tf16.setText("0"); add_radar_obs_3_tf17.setText("0"); add_radar_obs_3_tf18.setText("0"); add_radar_obs_3_tf19.setText("0"); add_radar_obs_3_tf20.setText("0"); add_radar_obs_3_tf21.setText("0"); add_radar_obs_3_tf22.setText("0"); */ /* Define a layout manager for the pane */ GridBagLayout add_radar_obs_3_layout = new GridBagLayout(); GridBagConstraints add_radar_obs_3_constraints = new GridBagConstraints(); pane.setLayout(add_radar_obs_3_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); Font font_g = new Font("monospaced",Font.BOLD,12); Font font_h = new Font("monospaced",Font.BOLD,14); /* Add constraints to add_radar_obs_3_blank1, then add it to pane */ /* JLabel add_radar_obs_3_blank1 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,0,4,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank1,add_radar_obs_3_constraints); add_radar_obs_3_blank1.setFont(font_f); pane.add(add_radar_obs_3_blank1); */ /* Add constraints to add_radar_obs_3_label1, then add it to pane */ JLabel add_radar_obs_3_label1 = new JLabel(("Earth Orientation Parameters for Observation Timeframe")); buildConstraints(add_radar_obs_3_constraints,0,0,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label1,add_radar_obs_3_constraints); add_radar_obs_3_label1.setFont(font_h); pane.add(add_radar_obs_3_label1); /* Add constraints to add_radar_obs_3_blank2, then add it to pane */ /* JLabel add_radar_obs_3_blank2 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,18,0,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank2,add_radar_obs_3_constraints); add_radar_obs_3_blank2.setFont(font_f); pane.add(add_radar_obs_3_blank2); */ /* Add constraints to add_radar_obs_3_blank5, then add it to pane */ JLabel add_radar_obs_3_blank5 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank5,add_radar_obs_3_constraints); add_radar_obs_3_blank5.setFont(font_f); pane.add(add_radar_obs_3_blank5); /* Add constraints to add_radar_obs_3_label2, then add it to pane */ JLabel add_radar_obs_3_label2 = new JLabel(("Julian Day")); buildConstraints(add_radar_obs_3_constraints,1,1,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label2,add_radar_obs_3_constraints); add_radar_obs_3_label2.setFont(font_g); pane.add(add_radar_obs_3_label2); /* Add constraints to add_radar_obs_3_blank6, then add it to pane */ JLabel add_radar_obs_3_blank6 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,4,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank6,add_radar_obs_3_constraints); add_radar_obs_3_blank6.setFont(font_f); pane.add(add_radar_obs_3_blank6); /* Add constraints to add_radar_obs_3_label3, then add it to pane */ JLabel add_radar_obs_3_label3 = new JLabel(("x")); buildConstraints(add_radar_obs_3_constraints,5,1,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label3,add_radar_obs_3_constraints); add_radar_obs_3_label3.setFont(font_g); pane.add(add_radar_obs_3_label3); /* Add constraints to add_radar_obs_3_blank7, then add it to pane */ JLabel add_radar_obs_3_blank7 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,7,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank7,add_radar_obs_3_constraints); add_radar_obs_3_blank7.setFont(font_f); pane.add(add_radar_obs_3_blank7); /* Add constraints to add_radar_obs_3_label4, then add it to pane */ JLabel add_radar_obs_3_label4 = new JLabel(("y")); buildConstraints(add_radar_obs_3_constraints,8,1,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label4,add_radar_obs_3_constraints); add_radar_obs_3_label4.setFont(font_g); pane.add(add_radar_obs_3_label4); /* Add constraints to add_radar_obs_3_blank8, then add it to pane */ JLabel add_radar_obs_3_blank8 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,10,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank8,add_radar_obs_3_constraints); add_radar_obs_3_blank8.setFont(font_f); pane.add(add_radar_obs_3_blank8); /* Add constraints to add_radar_obs_3_label5, then add it to pane */ JLabel add_radar_obs_3_label5 = new JLabel(("UT1-UTC")); buildConstraints(add_radar_obs_3_constraints,11,1,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label5,add_radar_obs_3_constraints); add_radar_obs_3_label5.setFont(font_g); pane.add(add_radar_obs_3_label5); /* Add constraints to add_radar_obs_3_blank9, then add it to pane */ JLabel add_radar_obs_3_blank9 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,13,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank9,add_radar_obs_3_constraints); add_radar_obs_3_blank9.setFont(font_f); pane.add(add_radar_obs_3_blank9); /* Add constraints to add_radar_obs_3_label6, then add it to pane */ JLabel add_radar_obs_3_label6 = new JLabel(("dPsi")); buildConstraints(add_radar_obs_3_constraints,14,1,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label6,add_radar_obs_3_constraints); add_radar_obs_3_label6.setFont(font_g); pane.add(add_radar_obs_3_label6); /* Add constraints to add_radar_obs_3_blank10, then add it to pane */ JLabel add_radar_obs_3_blank10 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,16,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank10,add_radar_obs_3_constraints); add_radar_obs_3_blank10.setFont(font_f); pane.add(add_radar_obs_3_blank10); /* Add constraints to add_radar_obs_3_label7, then add it to pane */ JLabel add_radar_obs_3_label7 = new JLabel(("dEpsilon")); buildConstraints(add_radar_obs_3_constraints,17,1,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label7,add_radar_obs_3_constraints); add_radar_obs_3_label7.setFont(font_g); pane.add(add_radar_obs_3_label7); /* Add constraints to add_radar_obs_3_blank11, then add it to pane */ JLabel add_radar_obs_3_blank11 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,19,1,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank11,add_radar_obs_3_constraints); add_radar_obs_3_blank11.setFont(font_f); pane.add(add_radar_obs_3_blank11); /* Add constraints to add_radar_obs_3_blank105, then add it to pane */ JLabel add_radar_obs_3_blank105 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,2,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank105,add_radar_obs_3_constraints); add_radar_obs_3_blank105.setFont(font_f); pane.add(add_radar_obs_3_blank105); /* Add constraints to add_radar_obs_3_label103, then add it to pane */ JLabel add_radar_obs_3_label103 = new JLabel("('')"); buildConstraints(add_radar_obs_3_constraints,5,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label103,add_radar_obs_3_constraints); add_radar_obs_3_label103.setFont(font_g); pane.add(add_radar_obs_3_label103); /* Add constraints to add_radar_obs_3_blank107, then add it to pane */ JLabel add_radar_obs_3_blank107 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,7,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank107,add_radar_obs_3_constraints); add_radar_obs_3_blank107.setFont(font_f); pane.add(add_radar_obs_3_blank107); /* Add constraints to add_radar_obs_3_label104, then add it to pane */ JLabel add_radar_obs_3_label104 = new JLabel("('')"); buildConstraints(add_radar_obs_3_constraints,8,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label104,add_radar_obs_3_constraints); add_radar_obs_3_label104.setFont(font_g); pane.add(add_radar_obs_3_label104); /* Add constraints to add_radar_obs_3_blank108, then add it to pane */ JLabel add_radar_obs_3_blank108 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,10,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank108,add_radar_obs_3_constraints); add_radar_obs_3_blank108.setFont(font_f); pane.add(add_radar_obs_3_blank108); /* Add constraints to add_radar_obs_3_label105, then add it to pane */ JLabel add_radar_obs_3_label105 = new JLabel("(s)"); buildConstraints(add_radar_obs_3_constraints,11,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label105,add_radar_obs_3_constraints); add_radar_obs_3_label105.setFont(font_g); pane.add(add_radar_obs_3_label105); /* Add constraints to add_radar_obs_3_blank109, then add it to pane */ JLabel add_radar_obs_3_blank109 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,13,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank109,add_radar_obs_3_constraints); add_radar_obs_3_blank109.setFont(font_f); pane.add(add_radar_obs_3_blank109); /* Add constraints to add_radar_obs_3_label106, then add it to pane */ JLabel add_radar_obs_3_label106 = new JLabel("('')"); buildConstraints(add_radar_obs_3_constraints,14,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label106,add_radar_obs_3_constraints); add_radar_obs_3_label106.setFont(font_g); pane.add(add_radar_obs_3_label106); /* Add constraints to add_radar_obs_3_blank110, then add it to pane */ JLabel add_radar_obs_3_blank110 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,16,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank110,add_radar_obs_3_constraints); add_radar_obs_3_blank110.setFont(font_f); pane.add(add_radar_obs_3_blank110); /* Add constraints to add_radar_obs_3_label107, then add it to pane */ JLabel add_radar_obs_3_label107 = new JLabel("('')"); buildConstraints(add_radar_obs_3_constraints,17,2,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label107,add_radar_obs_3_constraints); add_radar_obs_3_label107.setFont(font_g); pane.add(add_radar_obs_3_label107); /* Add constraints to add_radar_obs_3_blank111, then add it to pane */ JLabel add_radar_obs_3_blank111 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,19,2,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank111,add_radar_obs_3_constraints); add_radar_obs_3_blank111.setFont(font_f); pane.add(add_radar_obs_3_blank111); /* Add constraints to add_radar_obs_3_blank12, then add it to pane */ JLabel add_radar_obs_3_blank12 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,3,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank12,add_radar_obs_3_constraints); add_radar_obs_3_blank12.setFont(font_f); pane.add(add_radar_obs_3_blank12); /* Add constraints to add_radar_obs_3_blank13, then add it to pane */ JLabel add_radar_obs_3_blank13 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank13,add_radar_obs_3_constraints); add_radar_obs_3_blank13.setFont(font_f); pane.add(add_radar_obs_3_blank13); if (mp.observation_type[index] == 2) day = String.valueOf(Math.floor(mp.radar_delay_receiver_time[index] - 1.5) + 0.5); else if (mp.observation_type[index] == 3) day = String.valueOf(Math.floor(mp.radar_doppler_receiver_time[index] - 1.5) + 0.5); /* Add constraints to add_radar_obs_3_label8, then add it to pane */ JLabel add_radar_obs_3_label8 = new JLabel(day); buildConstraints(add_radar_obs_3_constraints,1,4,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label8,add_radar_obs_3_constraints); add_radar_obs_3_label8.setFont(font_f); pane.add(add_radar_obs_3_label8); /* Add constraints to add_radar_obs_3_blank14, then add it to pane */ JLabel add_radar_obs_3_blank14 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,4,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank14,add_radar_obs_3_constraints); add_radar_obs_3_blank14.setFont(font_f); pane.add(add_radar_obs_3_blank14); /* Add constraints to add_radar_obs_3_tf1, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,5,4,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf1,add_radar_obs_3_constraints); add_radar_obs_3_tf1.setFont(font_f); pane.add(add_radar_obs_3_tf1); /* Add constraints to add_radar_obs_3_blank15, then add it to pane */ JLabel add_radar_obs_3_blank15 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,7,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank15,add_radar_obs_3_constraints); add_radar_obs_3_blank15.setFont(font_f); pane.add(add_radar_obs_3_blank15); /* Add constraints to add_radar_obs_3_tf2, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,8,4,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf2,add_radar_obs_3_constraints); add_radar_obs_3_tf2.setFont(font_f); pane.add(add_radar_obs_3_tf2); /* Add constraints to add_radar_obs_3_blank16, then add it to pane */ JLabel add_radar_obs_3_blank16 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,10,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank16,add_radar_obs_3_constraints); add_radar_obs_3_blank16.setFont(font_f); pane.add(add_radar_obs_3_blank16); /* Add constraints to add_radar_obs_3_tf3, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,11,4,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf3,add_radar_obs_3_constraints); add_radar_obs_3_tf3.setFont(font_f); pane.add(add_radar_obs_3_tf3); /* Add constraints to add_radar_obs_3_blank17, then add it to pane */ JLabel add_radar_obs_3_blank17 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,13,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank17,add_radar_obs_3_constraints); add_radar_obs_3_blank17.setFont(font_f); pane.add(add_radar_obs_3_blank17); /* Add constraints to add_radar_obs_3_tf4, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,14,4,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf4,add_radar_obs_3_constraints); add_radar_obs_3_tf4.setFont(font_f); pane.add(add_radar_obs_3_tf4); /* Add constraints to add_radar_obs_3_blank18, then add it to pane */ JLabel add_radar_obs_3_blank18 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,16,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank18,add_radar_obs_3_constraints); add_radar_obs_3_blank18.setFont(font_f); pane.add(add_radar_obs_3_blank18); /* Add constraints to add_radar_obs_3_tf5, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,17,4,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf5,add_radar_obs_3_constraints); add_radar_obs_3_tf5.setFont(font_f); pane.add(add_radar_obs_3_tf5); /* Add constraints to add_radar_obs_3_blank19, then add it to pane */ JLabel add_radar_obs_3_blank19 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,19,4,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank19,add_radar_obs_3_constraints); add_radar_obs_3_blank19.setFont(font_f); pane.add(add_radar_obs_3_blank19); /* Add constraints to add_radar_obs_3_blank20, then add it to pane */ JLabel add_radar_obs_3_blank20 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,5,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank20,add_radar_obs_3_constraints); add_radar_obs_3_blank20.setFont(font_f); pane.add(add_radar_obs_3_blank20); /* Add constraints to add_radar_obs_3_blank21, then add it to pane */ JLabel add_radar_obs_3_blank21 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank21,add_radar_obs_3_constraints); add_radar_obs_3_blank21.setFont(font_f); pane.add(add_radar_obs_3_blank21); if (mp.observation_type[index] == 2) day = String.valueOf(Math.floor(mp.radar_delay_receiver_time[index] - 0.5) + 0.5); else if (mp.observation_type[index] == 3) day = String.valueOf(Math.floor(mp.radar_doppler_receiver_time[index] - 0.5) + 0.5); /* Add constraints to add_radar_obs_3_label9, then add it to pane */ JLabel add_radar_obs_3_label9 = new JLabel(day); buildConstraints(add_radar_obs_3_constraints,1,6,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label9,add_radar_obs_3_constraints); add_radar_obs_3_label9.setFont(font_f); pane.add(add_radar_obs_3_label9); /* Add constraints to add_radar_obs_3_blank22, then add it to pane */ JLabel add_radar_obs_3_blank22 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,4,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank22,add_radar_obs_3_constraints); add_radar_obs_3_blank22.setFont(font_f); pane.add(add_radar_obs_3_blank22); /* Add constraints to add_radar_obs_3_tf6, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,5,6,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf6,add_radar_obs_3_constraints); add_radar_obs_3_tf6.setFont(font_f); pane.add(add_radar_obs_3_tf6); /* Add constraints to add_radar_obs_3_blank23, then add it to pane */ JLabel add_radar_obs_3_blank23 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,7,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank23,add_radar_obs_3_constraints); add_radar_obs_3_blank23.setFont(font_f); pane.add(add_radar_obs_3_blank23); /* Add constraints to add_radar_obs_3_tf7, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,8,6,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf7,add_radar_obs_3_constraints); add_radar_obs_3_tf7.setFont(font_f); pane.add(add_radar_obs_3_tf7); /* Add constraints to add_radar_obs_3_blank24, then add it to pane */ JLabel add_radar_obs_3_blank24 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,10,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank24,add_radar_obs_3_constraints); add_radar_obs_3_blank24.setFont(font_f); pane.add(add_radar_obs_3_blank24); /* Add constraints to add_radar_obs_3_tf8, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,11,6,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf8,add_radar_obs_3_constraints); add_radar_obs_3_tf8.setFont(font_f); pane.add(add_radar_obs_3_tf8); /* Add constraints to add_radar_obs_3_blank25, then add it to pane */ JLabel add_radar_obs_3_blank25 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,13,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank25,add_radar_obs_3_constraints); add_radar_obs_3_blank25.setFont(font_f); pane.add(add_radar_obs_3_blank25); /* Add constraints to add_radar_obs_3_tf9, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,14,6,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf9,add_radar_obs_3_constraints); add_radar_obs_3_tf9.setFont(font_f); pane.add(add_radar_obs_3_tf9); /* Add constraints to add_radar_obs_3_blank26, then add it to pane */ JLabel add_radar_obs_3_blank26 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,16,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank26,add_radar_obs_3_constraints); add_radar_obs_3_blank26.setFont(font_f); pane.add(add_radar_obs_3_blank26); /* Add constraints to add_radar_obs_3_tf10, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,17,6,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf10,add_radar_obs_3_constraints); add_radar_obs_3_tf10.setFont(font_f); pane.add(add_radar_obs_3_tf10); /* Add constraints to add_radar_obs_3_blank27, then add it to pane */ JLabel add_radar_obs_3_blank27 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,19,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank27,add_radar_obs_3_constraints); add_radar_obs_3_blank27.setFont(font_f); pane.add(add_radar_obs_3_blank27); /* Add constraints to add_radar_obs_3_blank28, then add it to pane */ JLabel add_radar_obs_3_blank28 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,7,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank28,add_radar_obs_3_constraints); add_radar_obs_3_blank28.setFont(font_f); pane.add(add_radar_obs_3_blank28); /* Add constraints to add_radar_obs_3_blank29, then add it to pane */ JLabel add_radar_obs_3_blank29 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank29,add_radar_obs_3_constraints); add_radar_obs_3_blank29.setFont(font_f); pane.add(add_radar_obs_3_blank29); if (mp.observation_type[index] == 2) day = String.valueOf(Math.floor(mp.radar_delay_receiver_time[index] + 0.5) + 0.5); else if (mp.observation_type[index] == 3) day = String.valueOf(Math.floor(mp.radar_doppler_receiver_time[index] + 0.5) + 0.5); /* Add constraints to add_radar_obs_3_label10, then add it to pane */ JLabel add_radar_obs_3_label10 = new JLabel(day); buildConstraints(add_radar_obs_3_constraints,1,8,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label10,add_radar_obs_3_constraints); add_radar_obs_3_label10.setFont(font_f); pane.add(add_radar_obs_3_label10); /* Add constraints to add_radar_obs_3_blank30, then add it to pane */ JLabel add_radar_obs_3_blank30 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,4,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank30,add_radar_obs_3_constraints); add_radar_obs_3_blank30.setFont(font_f); pane.add(add_radar_obs_3_blank30); /* Add constraints to add_radar_obs_3_tf11, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,5,8,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf11,add_radar_obs_3_constraints); add_radar_obs_3_tf11.setFont(font_f); pane.add(add_radar_obs_3_tf11); /* Add constraints to add_radar_obs_3_blank31, then add it to pane */ JLabel add_radar_obs_3_blank31 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,7,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank31,add_radar_obs_3_constraints); add_radar_obs_3_blank31.setFont(font_f); pane.add(add_radar_obs_3_blank31); /* Add constraints to add_radar_obs_3_tf12, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,8,8,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf12,add_radar_obs_3_constraints); add_radar_obs_3_tf12.setFont(font_f); pane.add(add_radar_obs_3_tf12); /* Add constraints to add_radar_obs_3_blank32, then add it to pane */ JLabel add_radar_obs_3_blank32 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,10,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank32,add_radar_obs_3_constraints); add_radar_obs_3_blank32.setFont(font_f); pane.add(add_radar_obs_3_blank32); /* Add constraints to add_radar_obs_3_tf13, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,11,8,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf13,add_radar_obs_3_constraints); add_radar_obs_3_tf13.setFont(font_f); pane.add(add_radar_obs_3_tf13); /* Add constraints to add_radar_obs_3_blank33, then add it to pane */ JLabel add_radar_obs_3_blank33 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,13,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank33,add_radar_obs_3_constraints); add_radar_obs_3_blank33.setFont(font_f); pane.add(add_radar_obs_3_blank33); /* Add constraints to add_radar_obs_3_tf14, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,14,8,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf14,add_radar_obs_3_constraints); add_radar_obs_3_tf14.setFont(font_f); pane.add(add_radar_obs_3_tf14); /* Add constraints to add_radar_obs_3_blank34, then add it to pane */ JLabel add_radar_obs_3_blank34 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,16,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank34,add_radar_obs_3_constraints); add_radar_obs_3_blank34.setFont(font_f); pane.add(add_radar_obs_3_blank34); /* Add constraints to add_radar_obs_3_tf15, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,17,8,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf15,add_radar_obs_3_constraints); add_radar_obs_3_tf15.setFont(font_f); pane.add(add_radar_obs_3_tf15); /* Add constraints to add_radar_obs_3_blank35, then add it to pane */ JLabel add_radar_obs_3_blank35 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,19,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank35,add_radar_obs_3_constraints); add_radar_obs_3_blank35.setFont(font_f); pane.add(add_radar_obs_3_blank35); /* Add constraints to add_radar_obs_3_blank36, then add it to pane */ JLabel add_radar_obs_3_blank36 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,9,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank36,add_radar_obs_3_constraints); add_radar_obs_3_blank36.setFont(font_f); pane.add(add_radar_obs_3_blank36); /* Add constraints to add_radar_obs_3_blank37, then add it to pane */ JLabel add_radar_obs_3_blank37 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank37,add_radar_obs_3_constraints); add_radar_obs_3_blank37.setFont(font_f); pane.add(add_radar_obs_3_blank37); if (mp.observation_type[index] == 2) day = String.valueOf(Math.floor(mp.radar_delay_receiver_time[index] + 1.5) + 0.5); else if (mp.observation_type[index] == 3) day = String.valueOf(Math.floor(mp.radar_doppler_receiver_time[index] + 1.5) + 0.5); /* Add constraints to add_radar_obs_3_label11, then add it to pane */ JLabel add_radar_obs_3_label11 = new JLabel(day); buildConstraints(add_radar_obs_3_constraints,1,10,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label11,add_radar_obs_3_constraints); add_radar_obs_3_label11.setFont(font_f); pane.add(add_radar_obs_3_label11); /* Add constraints to add_radar_obs_3_blank38, then add it to pane */ JLabel add_radar_obs_3_blank38 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,4,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank38,add_radar_obs_3_constraints); add_radar_obs_3_blank38.setFont(font_f); pane.add(add_radar_obs_3_blank38); /* Add constraints to add_radar_obs_3_tf16, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,5,10,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf16,add_radar_obs_3_constraints); add_radar_obs_3_tf16.setFont(font_f); pane.add(add_radar_obs_3_tf16); /* Add constraints to add_radar_obs_3_blank39, then add it to pane */ JLabel add_radar_obs_3_blank39 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,7,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank39,add_radar_obs_3_constraints); add_radar_obs_3_blank39.setFont(font_f); pane.add(add_radar_obs_3_blank39); /* Add constraints to add_radar_obs_3_tf17, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,8,10,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf17,add_radar_obs_3_constraints); add_radar_obs_3_tf17.setFont(font_f); pane.add(add_radar_obs_3_tf17); /* Add constraints to add_radar_obs_3_blank40, then add it to pane */ JLabel add_radar_obs_3_blank40 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,10,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank40,add_radar_obs_3_constraints); add_radar_obs_3_blank40.setFont(font_f); pane.add(add_radar_obs_3_blank40); /* Add constraints to add_radar_obs_3_tf18, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,11,10,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf18,add_radar_obs_3_constraints); add_radar_obs_3_tf18.setFont(font_f); pane.add(add_radar_obs_3_tf18); /* Add constraints to add_radar_obs_3_blank41, then add it to pane */ JLabel add_radar_obs_3_blank41 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,13,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank41,add_radar_obs_3_constraints); add_radar_obs_3_blank41.setFont(font_f); pane.add(add_radar_obs_3_blank41); /* Add constraints to add_radar_obs_3_tf19, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,14,10,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf19,add_radar_obs_3_constraints); add_radar_obs_3_tf19.setFont(font_f); pane.add(add_radar_obs_3_tf19); /* Add constraints to add_radar_obs_3_blank42, then add it to pane */ JLabel add_radar_obs_3_blank42 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,16,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank42,add_radar_obs_3_constraints); add_radar_obs_3_blank42.setFont(font_f); pane.add(add_radar_obs_3_blank42); /* Add constraints to add_radar_obs_3_tf20, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,17,10,2,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf20,add_radar_obs_3_constraints); add_radar_obs_3_tf20.setFont(font_f); pane.add(add_radar_obs_3_tf20); /* Add constraints to add_radar_obs_3_blank43, then add it to pane */ JLabel add_radar_obs_3_blank43 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,19,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank43,add_radar_obs_3_constraints); add_radar_obs_3_blank43.setFont(font_f); pane.add(add_radar_obs_3_blank43); /* Add constraints to add_radar_obs_3_blank44, then add it to pane */ JLabel add_radar_obs_3_blank44 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,11,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank44,add_radar_obs_3_constraints); add_radar_obs_3_blank44.setFont(font_f); pane.add(add_radar_obs_3_blank44); /* Add constraints to add_radar_obs_3_blank45, then add it to pane */ JLabel add_radar_obs_3_blank45 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,12,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank45,add_radar_obs_3_constraints); add_radar_obs_3_blank45.setFont(font_f); pane.add(add_radar_obs_3_blank45); /* Add constraints to add_radar_obs_3_label12, then add it to pane */ JLabel add_radar_obs_3_label12 = new JLabel("No. of Leap Seconds "); buildConstraints(add_radar_obs_3_constraints,1,12,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label12,add_radar_obs_3_constraints); add_radar_obs_3_label12.setFont(font_g); pane.add(add_radar_obs_3_label12); /* Add constraints to add_radar_obs_3_tf21, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,6,12,1,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.WEST); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf21,add_radar_obs_3_constraints); add_radar_obs_3_tf21.setFont(font_f); pane.add(add_radar_obs_3_tf21); /* Add constraints to add_radar_obs_3_blank46, then add it to pane */ JLabel add_radar_obs_3_blank46 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,7,12,13,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank46,add_radar_obs_3_constraints); add_radar_obs_3_blank46.setFont(font_f); pane.add(add_radar_obs_3_blank46); /* Add constraints to add_radar_obs_3_blank51, then add it to pane */ JLabel add_radar_obs_3_blank51 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,13,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank51,add_radar_obs_3_constraints); add_radar_obs_3_blank51.setFont(font_f); pane.add(add_radar_obs_3_blank51); /* Add constraints to add_radar_obs_3_blank50, then add it to pane */ JLabel add_radar_obs_3_blank50 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,14,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank50,add_radar_obs_3_constraints); add_radar_obs_3_blank50.setFont(font_f); pane.add(add_radar_obs_3_blank50); /* Add constraints to add_radar_obs_3_label13, then add it to pane */ JLabel add_radar_obs_3_label13 = new JLabel("Earth's Ang Velocity "); buildConstraints(add_radar_obs_3_constraints,1,14,5,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label13,add_radar_obs_3_constraints); add_radar_obs_3_label13.setFont(font_g); pane.add(add_radar_obs_3_label13); /* Add constraints to add_radar_obs_3_tf22, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,6,14,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.WEST); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_tf22,add_radar_obs_3_constraints); add_radar_obs_3_tf22.setFont(font_f); pane.add(add_radar_obs_3_tf22); /* Add constraints to add_radar_obs_3_label14, then add it to pane */ JLabel add_radar_obs_3_label14 = new JLabel(" microrad/sec"); buildConstraints(add_radar_obs_3_constraints,9,14,4,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label14,add_radar_obs_3_constraints); add_radar_obs_3_label14.setFont(font_f); pane.add(add_radar_obs_3_label14); /* Add constraints to add_radar_obs_3_blank48, then add it to pane */ JLabel add_radar_obs_3_blank48 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,13,14,7,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank48,add_radar_obs_3_constraints); add_radar_obs_3_blank48.setFont(font_f); pane.add(add_radar_obs_3_blank48); /* Add constraints to add_radar_obs_3_blank47, then add it to pane */ JLabel add_radar_obs_3_blank47 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,15,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank47,add_radar_obs_3_constraints); add_radar_obs_3_blank47.setFont(font_f); pane.add(add_radar_obs_3_blank47); /* Add constraints to add_radar_obs_3_blank60, then add it to pane */ JLabel add_radar_obs_3_blank60 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,16,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank60,add_radar_obs_3_constraints); add_radar_obs_3_blank60.setFont(font_f); pane.add(add_radar_obs_3_blank60); /* Add constraints to add_radar_obs_3_b1, add a listener, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,9,16,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_b1,add_radar_obs_3_constraints); add_radar_obs_3_b1.addActionListener(this); add_radar_obs_3_b1.setFont(font_f); pane.add(add_radar_obs_3_b1); /* Add constraints to add_radar_obs_3_blank61, then add it to pane */ JLabel add_radar_obs_3_blank61 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,11,16,9,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank61,add_radar_obs_3_constraints); add_radar_obs_3_blank61.setFont(font_f); pane.add(add_radar_obs_3_blank61); /* Add constraints to add_radar_obs_3_blank62, then add it to pane */ JLabel add_radar_obs_3_blank62 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,17,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank62,add_radar_obs_3_constraints); add_radar_obs_3_blank62.setFont(font_f); pane.add(add_radar_obs_3_blank62); /* Add constraints to add_radar_obs_3_blank162, then add it to pane */ JLabel add_radar_obs_3_blank162 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,18,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank162,add_radar_obs_3_constraints); add_radar_obs_3_blank162.setFont(font_f); pane.add(add_radar_obs_3_blank162); /* Add constraints to add_radar_obs_3_label21, then add it to pane */ JLabel add_radar_obs_3_label21 = new JLabel("Cancel - Return to Level Two Menu "); buildConstraints(add_radar_obs_3_constraints,0,19,11,1,55,8,GridBagConstraints.NONE,GridBagConstraints.EAST); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_label21,add_radar_obs_3_constraints); add_radar_obs_3_label21.setFont(font_f); pane.add(add_radar_obs_3_label21); /* Add constraints to add_radar_obs_3_b2, add a listener, then add it to pane */ buildConstraints(add_radar_obs_3_constraints,11,19,9,1,55,8,GridBagConstraints.NONE,GridBagConstraints.WEST); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_b2,add_radar_obs_3_constraints); add_radar_obs_3_b2.addActionListener(this); add_radar_obs_3_b2.setFont(font_f); pane.add(add_radar_obs_3_b2); /* Add constraints to add_radar_obs_3_blank163, then add it to pane */ JLabel add_radar_obs_3_blank163 = new JLabel(" "); buildConstraints(add_radar_obs_3_constraints,0,20,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); add_radar_obs_3_layout.setConstraints(add_radar_obs_3_blank163,add_radar_obs_3_constraints); add_radar_obs_3_blank163.setFont(font_f); pane.add(add_radar_obs_3_blank163); setContentPane(pane); repaint(); } void process_optical_obs_1() { /* Method to process the input date, radec, and visual magnitude of an optical observation. The output will be MinorPlanet instance variables in TDB and ICRF/J2000. */ double hour = 0, minute = 0, second = 0, degree = 0, start_epoch = 0, magnitude = 0; double[] radec = new double[3]; double year = 0, month = 0, day = 0; int index = 0; String line = " ", sign = " "; /* First, increment the number of optical observations, and categorize the observation type */ mp.number_of_optical_observations = mp.number_of_optical_observations + 1; index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; mp.observation_type[index] = 1; /* Read the input UTC jultime of the optical observation, and convert to TDT. It will be reduced to TDB once the site lat/long/alt and EOPs are known. */ year = Double.valueOf(add_optical_obs_1_tf1.getText()).doubleValue(); month = Double.valueOf(add_optical_obs_1_tf13.getText()).doubleValue(); day = Double.valueOf(add_optical_obs_1_tf14.getText()).doubleValue(); hour = (day - Math.floor(day))*24.0; day = Math.floor(day); minute = (hour - Math.floor(hour))*60.0; hour = Math.floor(hour); second = (minute - Math.floor(minute))*60.0; minute = Math.floor(minute); input_juldate = mp.julday(true,(int)year,(int)month,(int)day,(int)hour,(int)minute,second); /* Convert the UTC observation time to TDT */ mp.optical_time[index] = input_juldate + (32.184 + mp.get_leap_second(input_juldate))/86400.0; /* Read the input right ascension and uncertainty, and reduce to radians. */ hour = Double.valueOf(add_optical_obs_1_tf2.getText()).doubleValue(); minute = Double.valueOf(add_optical_obs_1_tf3.getText()).doubleValue(); second = Double.valueOf(add_optical_obs_1_tf4.getText()).doubleValue(); radec[1] = (hour + (minute + second/60.0)/60.0)*Math.PI/12.0; mp.ra_dev[index] = (Double.valueOf(add_optical_obs_1_tf5.getText()).doubleValue()/3600.0)*Math.PI/180.0; /* Read the input declination and uncertainty, and reduce to radians. */ line = add_optical_obs_1_tf6.getText(); sign = line.substring(0,1); degree = Double.valueOf(line).doubleValue(); minute = Double.valueOf(add_optical_obs_1_tf7.getText()).doubleValue(); second = Double.valueOf(add_optical_obs_1_tf8.getText()).doubleValue(); if (sign.equals("-")) radec[2] = (degree - (minute + second/60.0)/60.0)*Math.PI/180.0; else radec[2] = (degree + (minute + second/60.0)/60.0)*Math.PI/180.0; mp.dec_dev[index] = (Double.valueOf(add_optical_obs_1_tf9.getText()).doubleValue()/3600.0)*Math.PI/180.0; /* Depending on which catalog and epoch the observational data is referred to, convert to ICRF/J2000 (assumed equivalent to FK5/J2000) for use by MinorPlanet. */ if ((add_optical_obs_1_FK5.getState()) && (add_optical_obs_1_j2000.getState())) { mp.optical_ra[index] = radec[1]; mp.optical_dec[index] = radec[2]; } else if ((add_optical_obs_1_FK5.getState()) && (add_optical_obs_1_j.getState())) { start_epoch = mp.get_jdequinox(Double.valueOf(add_optical_obs_1_tf10.getText()).doubleValue(),true); mp.precession(radec,start_epoch,2451545.0,true); mp.optical_ra[index] = radec[1]; mp.optical_dec[index] = radec[2]; } else if ((add_optical_obs_1_FK4.getState()) && (add_optical_obs_1_b1950.getState())) { mp.convert_radec_B1950_to_J2000(radec,input_juldate); mp.optical_ra[index] = radec[1]; mp.optical_dec[index] = radec[2]; } else if ((add_optical_obs_1_FK4.getState()) && (add_optical_obs_1_b.getState())) { start_epoch = mp.get_jdequinox(Double.valueOf(add_optical_obs_1_tf11.getText()).doubleValue(),false); mp.precession(radec,start_epoch,2433282.423,false); mp.convert_radec_B1950_to_J2000(radec,input_juldate); mp.optical_ra[index] = radec[1]; mp.optical_dec[index] = radec[2]; } /* Read the input visual magnitude. */ mp.visual_magnitude[index] = Double.valueOf(add_optical_obs_1_tf12.getText()).doubleValue(); mp.visual_magnitude_dev[index] = 0.3; } void process_optical_obs_2() { /* Method to process the latlongalt of an optical observation. The output will be MinorPlanet instance variables in radians and meters. */ double degree = 0, minute = 0, second = 0; int index = 0, i = 0; String line = " ", sign = " ", code = " "; /* First, calculate the index, and set observation_geocentric to false */ index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; mp.observation_geocentric[index] = false; /* Determine whether the user has entered an obscode or a latlogalt */ if (add_optical_obs_2_obscode.getState()) { code = add_optical_obs_2_tf8.getText(); /* Note: If the specified observatory code is not on the CODES ObsCode.txt list, the lat/long/alt default values of zero will result in the observation being interpreted either as originating off the NW coast of Africa, or at the position of the last processed observation. This is clearly undesirable, but no run-time error will be incurred. */ for (i=0;i<=code_counter;i++) { if (code.equals(obscode[i])) { mp.observation_latitude[index] = obslat[i]; mp.observation_longitude[index] = obslong[i]; mp.observation_altitude[index] = obsalt[i]; } } } else if (add_optical_obs_2_latlong.getState()) { /* Read the input latitude, and reduce to radians. */ line = add_optical_obs_2_tf1.getText(); sign = line.substring(0,1); degree = Double.valueOf(line).doubleValue(); minute = Double.valueOf(add_optical_obs_2_tf2.getText()).doubleValue(); second = Double.valueOf(add_optical_obs_2_tf3.getText()).doubleValue(); if (sign.equals("-")) mp.observation_latitude[index] = (degree - (minute + second/60.0)/60.0)*Math.PI/180.0; else mp.observation_latitude[index] = (degree + (minute + second/60.0)/60.0)*Math.PI/180.0; /* Read the input longitude, and reduce to radians. */ line = add_optical_obs_2_tf4.getText(); sign = line.substring(0,1); degree = Double.valueOf(line).doubleValue(); minute = Double.valueOf(add_optical_obs_2_tf5.getText()).doubleValue(); second = Double.valueOf(add_optical_obs_2_tf6.getText()).doubleValue(); if (sign.equals("-")) mp.observation_longitude[index] = (degree - (minute + second/60.0)/60.0)*Math.PI/180.0; else mp.observation_longitude[index] = (degree + (minute + second/60.0)/60.0)*Math.PI/180.0; /* Read the input altitude, and save. */ mp.observation_altitude[index] = Double.valueOf(add_optical_obs_2_tf7.getText()).doubleValue(); } } void process_optical_obs_3() { /* Method to process the Earth Orientation Parameters of an optical observation. The output will be the MinorPlanet instance variable array observation_EOP, as well as the position and velocity of the observing site, and the TDB time of the observation. */ double item1 = 0, item2 = 0, item3 = 0, item4 = 0, value = 0, utc_time = 0, leap_seconds = 0, day = 0, delta_psi1 = 0, delta_psi2 = 0, delta_psi3 = 0, delta_psi4 = 0, delta_epsilon1 = 0, delta_epsilon2 = 0, delta_epsilon3 = 0, delta_epsilon4 = 0; double[] nutation_vector = new double[4]; double[] EOP = new double[8]; double[] observer_r = new double[4]; double[] observer_rprime = new double[4]; int index = 0, i = 0; boolean delta_psi_flag = true, delta_epsilon_flag = true; boolean duplicate_observation_flag = false; /* First, calculate the index */ index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; /* Read the number of leap seconds, and use that to calculate the UTC corresponding to the observation time in TDT. (If user enters leap seconds = 0, use look-up table.) Note that TDT - UTC = (TDT - TAI) + (TAI - UTC) = (32.184s) + (number of leap seconds) */ /* I'm adding fault-tolerant logic to the processing of each EOP input text field. Open fields will now be processed as zeros, rather than flagged as errors. I expect users will frequently skip these fields; this will allow them to do so painlessly. */ if (add_optical_obs_3_tf21.getText().equals("")) leap_seconds = 0.0; else leap_seconds = Double.valueOf(add_optical_obs_3_tf21.getText()).doubleValue(); if (leap_seconds == 0.0) leap_seconds = mp.get_leap_second(mp.optical_time[index]); utc_time = mp.optical_time[index] - (32.184 + leap_seconds)/86400.0; /* Read the input x values, interpolate, and reduce to radians. */ if (add_optical_obs_3_tf1.getText().equals("")) item1 = 0.0; else item1 = Double.valueOf(add_optical_obs_3_tf1.getText()).doubleValue(); if (add_optical_obs_3_tf6.getText().equals("")) item2 = 0.0; else item2 = Double.valueOf(add_optical_obs_3_tf6.getText()).doubleValue(); if (add_optical_obs_3_tf11.getText().equals("")) item3 = 0.0; else item3 = Double.valueOf(add_optical_obs_3_tf11.getText()).doubleValue(); if (add_optical_obs_3_tf16.getText().equals("")) item4 = 0.0; else item4 = Double.valueOf(add_optical_obs_3_tf16.getText()).doubleValue(); value = mp.interpolation(item1, item2, item3, item4, utc_time); mp.observation_EOP[index][1] = (value/3600.0)*Math.PI/180.0; /* Read the input y values, interpolate, and reduce to radians. */ if (add_optical_obs_3_tf2.getText().equals("")) item1 = 0.0; else item1 = Double.valueOf(add_optical_obs_3_tf2.getText()).doubleValue(); if (add_optical_obs_3_tf7.getText().equals("")) item2 = 0.0; else item2 = Double.valueOf(add_optical_obs_3_tf7.getText()).doubleValue(); if (add_optical_obs_3_tf12.getText().equals("")) item3 = 0.0; else item3 = Double.valueOf(add_optical_obs_3_tf12.getText()).doubleValue(); if (add_optical_obs_3_tf17.getText().equals("")) item4 = 0.0; else item4 = Double.valueOf(add_optical_obs_3_tf17.getText()).doubleValue(); value = mp.interpolation(item1, item2, item3, item4, utc_time); mp.observation_EOP[index][2] = (value/3600.0)*Math.PI/180.0; /* Read the input (UT1-UTC) values, and calculate interpolated (UT1-TAI). */ /* Note that (UT1-TAI) = (UT1-UTC) + (UTC-TAI) = (UT1-UTC) - leap_seconds */ if (add_optical_obs_3_tf3.getText().equals("")) item1 = 0.0; else item1 = Double.valueOf(add_optical_obs_3_tf3.getText()).doubleValue(); if (add_optical_obs_3_tf8.getText().equals("")) item2 = 0.0; else item2 = Double.valueOf(add_optical_obs_3_tf8.getText()).doubleValue(); if (add_optical_obs_3_tf13.getText().equals("")) item3 = 0.0; else item3 = Double.valueOf(add_optical_obs_3_tf13.getText()).doubleValue(); if (add_optical_obs_3_tf18.getText().equals("")) item4 = 0.0; else item4 = Double.valueOf(add_optical_obs_3_tf18.getText()).doubleValue(); value = mp.interpolation(item1, item2, item3, item4, utc_time); mp.observation_EOP[index][3] = value - leap_seconds; /* To calculate the 4'th and 5'th entries in observation_EOP, the nutation method will be called for days n-1, n, n+1, and n+2; the resulting IAU1980 values for delta_Psi and delta_Epsilon will be added to the entered corrections and interpolated. The 6'th entry in observation_EOP comes from a direct call to nutation_IAU1980 at the TDT observation time. Note that the "day" inputs to nutation_1980 must be TDT; the UTC times will be converted for input. */ /* After giving the matter further thought, I've realized that a user could use this screen simply to enter the number of leap seconds, leaving all other entries as zero. This would obviate the need to estimate the number of leap seconds, and the resulting value of UT1-TAI would be more accurate. However, the algorithm at present would use interpolated nutation_1980 values for delta_psi and delta_epsilon, rather than a direct call to (the presumably more accurate) nutation at the TDT observation time. Indeed, this is what get_observer_position does in the event of zero entries; I can't justify doing less here. Thus, I will test for zero entries, and use nutation values as needed. */ day = Math.floor(mp.optical_time[index] - 0.5) + 0.5 + (32.184 + leap_seconds)/86400.0; mp.nutation_IAU1980(day,nutation_vector); if (add_optical_obs_3_tf4.getText().equals("")) delta_psi1 = nutation_vector[1]; else delta_psi1 = nutation_vector[1] + (Double.valueOf(add_optical_obs_3_tf4.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_psi1 != nutation_vector[1]) delta_psi_flag = false; if (add_optical_obs_3_tf5.getText().equals("")) delta_epsilon1 = nutation_vector[2]; else delta_epsilon1 = nutation_vector[2] + (Double.valueOf(add_optical_obs_3_tf5.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_epsilon1 != nutation_vector[2]) delta_epsilon_flag = false; day = Math.floor(mp.optical_time[index] + 0.5) + 0.5 + (32.184 + leap_seconds)/86400.0; mp.nutation_IAU1980(day,nutation_vector); if (add_optical_obs_3_tf9.getText().equals("")) delta_psi2 = nutation_vector[1]; else delta_psi2 = nutation_vector[1] + (Double.valueOf(add_optical_obs_3_tf9.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_psi2 != nutation_vector[1]) delta_psi_flag = false; if (add_optical_obs_3_tf10.getText().equals("")) delta_epsilon2 = nutation_vector[2]; else delta_epsilon2 = nutation_vector[2] + (Double.valueOf(add_optical_obs_3_tf10.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_epsilon2 != nutation_vector[2]) delta_epsilon_flag = false; day = Math.floor(mp.optical_time[index] + 1.5) + 0.5 + (32.184 + leap_seconds)/86400.0; mp.nutation_IAU1980(day,nutation_vector); if (add_optical_obs_3_tf14.getText().equals("")) delta_psi3 = nutation_vector[1]; else delta_psi3 = nutation_vector[1] + (Double.valueOf(add_optical_obs_3_tf14.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_psi3 != nutation_vector[1]) delta_psi_flag = false; if (add_optical_obs_3_tf15.getText().equals("")) delta_epsilon3 = nutation_vector[2]; else delta_epsilon3 = nutation_vector[2] + (Double.valueOf(add_optical_obs_3_tf15.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_epsilon3 != nutation_vector[2]) delta_epsilon_flag = false; day = Math.floor(mp.optical_time[index] + 2.5) + 0.5 + (32.184 + leap_seconds)/86400.0; mp.nutation_IAU1980(day,nutation_vector); if (add_optical_obs_3_tf19.getText().equals("")) delta_psi4 = nutation_vector[1]; else delta_psi4 = nutation_vector[1] + (Double.valueOf(add_optical_obs_3_tf19.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_psi4 != nutation_vector[1]) delta_psi_flag = false; if (add_optical_obs_3_tf20.getText().equals("")) delta_epsilon4 = nutation_vector[2]; else delta_epsilon4 = nutation_vector[2] + (Double.valueOf(add_optical_obs_3_tf20.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_epsilon4 != nutation_vector[2]) delta_epsilon_flag = false; if ((delta_psi_flag) || (delta_epsilon_flag)) mp.nutation(mp.optical_time[index],nutation_vector); else mp.nutation_IAU1980(mp.optical_time[index],nutation_vector); if (delta_psi_flag) mp.observation_EOP[index][4] = nutation_vector[1]; else mp.observation_EOP[index][4] = mp.interpolation(delta_psi1, delta_psi2, delta_psi3, delta_psi4, utc_time); if (delta_epsilon_flag) mp.observation_EOP[index][5] = nutation_vector[2]; else mp.observation_EOP[index][5] = mp.interpolation(delta_epsilon1, delta_epsilon2, delta_epsilon3, delta_epsilon4, utc_time); mp.observation_EOP[index][6] = nutation_vector[3]; /* Next, the Earth's angular velocity is read and saved. */ if (add_optical_obs_3_tf22.getText().equals("")) mp.observation_EOP[index][7] = 0.0; else mp.observation_EOP[index][7] = (Double.valueOf(add_optical_obs_3_tf22.getText()).doubleValue())*1.0E-06; /* Now, using this data, calculate the TDB observation time, and the posvel of the observing site. */ mp.incremental_state_vector_epoch[index] = mp.tdt_to_tdb(mp.optical_time[index], mp.observation_latitude[index], mp.observation_longitude[index], mp.observation_altitude[index], mp.observation_EOP[index][3]); for (i=1;i<=7;i++) EOP[i] = mp.observation_EOP[index][i]; mp.get_observer_position(mp.observation_latitude[index], mp.observation_longitude[index], mp.observation_altitude[index], mp.incremental_state_vector_epoch[index], EOP, observer_r, observer_rprime); for (i=1;i<=3;i++) { mp.observation_r[index][i] = observer_r[i]; mp.observation_rprime[index][i] = observer_rprime[i]; } /* Finally, set the values of the radar-related instance variables to zero for this optical observation. */ mp.radar_delay[index] = 0.0; mp.delay_dev[index] = 0.0; mp.radar_delay_receiver_time[index] = 0.0; mp.radar_delay_receiver_latitude[index] = 0.0; mp.radar_delay_receiver_longitude[index] = 0.0; mp.radar_delay_receiver_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.radar_delay_receiver_EOP[index][i] = 0.0; mp.radar_delay_receiver_tdb_minus_utc[index] = 0.0; for (i=1;i<=3;i++) { mp.radar_delay_receiver_r[index][i] = 0.0; mp.radar_delay_receiver_rprime[index][i] = 0.0; } mp.radar_delay_transmitter_latitude[index] = 0.0; mp.radar_delay_transmitter_longitude[index] = 0.0; mp.radar_delay_transmitter_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.radar_delay_transmitter_EOP[index][i] = 0.0; mp.radar_delay_transmitter_tdb_minus_utc[index] = 0.0; mp.radar_delay_transmitter_frequency[index] = 0.0; mp.radar_doppler[index] = 0.0; mp.doppler_dev[index] = 0.0; mp.radar_doppler_receiver_time[index] = 0.0; mp.radar_doppler_receiver_latitude[index] = 0.0; mp.radar_doppler_receiver_longitude[index] = 0.0; mp.radar_doppler_receiver_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.radar_doppler_receiver_EOP[index][i] = 0.0; mp.radar_doppler_receiver_tdb_minus_utc[index] = 0.0; for (i=1;i<=3;i++) { mp.radar_doppler_receiver_r[index][i] = 0.0; mp.radar_doppler_receiver_rprime[index][i] = 0.0; } mp.radar_doppler_transmitter_latitude[index] = 0.0; mp.radar_doppler_transmitter_longitude[index] = 0.0; mp.radar_doppler_transmitter_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.radar_doppler_transmitter_EOP[index][i] = 0.0; mp.radar_doppler_transmitter_tdb_minus_utc[index] = 0.0; mp.radar_doppler_transmitter_frequency[index] = 0.0; /* Check for duplicate observation. If so, erase the observation and decrement the type counter; if not, complete processing. */ duplicate_observation_flag = false; for (i=1;i<=(index-1);i++) { if ( (mp.optical_time[index] == mp.optical_time[i]) && (mp.optical_ra[index] == mp.optical_ra[i]) && (mp.optical_dec[index] == mp.optical_dec[i]) ) { duplicate_observation_flag = true; } } if (duplicate_observation_flag == true) { erase_observation(index); mp.number_of_optical_observations = mp.number_of_optical_observations - 1; index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; } else if (duplicate_observation_flag == false) { /* We now have a complete (and unique) observation! Sort all of the observations, then save the data file for this minor planet. */ mp.sort_observations(); mp.write_data_to_disk(mp.current_minor_planet); } } void process_optical_obs_2a() { /* Method to process the default Earth Orientation Parameters of an optical observation. The output will be the MinorPlanet instance variable array observation_EOP (set identically to zero, except for UT1-TAI), as well as the position and velocity of the observing site, and the TDB time of the observation. */ double[] EOP = new double[8]; double[] observer_r = new double[4]; double[] observer_rprime = new double[4]; int index = 0, i = 0; boolean duplicate_observation_flag = false; /* First, calculate the index */ index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; /* Set all Earth Orientation Parameters to zero, except UT1-TAI. Note: This is feasible for two reasons. First, optical observations typically don't have precisions greater than about 0.1 arcseconds; at this level of precision, the EOPs are negligible. Second, the EOPs are used in tdt_to_tdb and get_observer_position, both of which have algorithms to estimate default values of the relevant EOPs for use in their calculations. */ mp.observation_EOP[index][1] = 0.0; mp.observation_EOP[index][2] = 0.0; mp.observation_EOP[index][3] = -mp.get_leap_second(mp.optical_time[index]); mp.observation_EOP[index][4] = 0.0; mp.observation_EOP[index][5] = 0.0; mp.observation_EOP[index][6] = 0.0; mp.observation_EOP[index][7] = 0.0; /* Now, using the available data, calculate the TDB observation time, and the posvel of the observing site. */ mp.incremental_state_vector_epoch[index] = mp.tdt_to_tdb(mp.optical_time[index], mp.observation_latitude[index], mp.observation_longitude[index], mp.observation_altitude[index], mp.observation_EOP[index][3]); for (i=1;i<=7;i++) EOP[i] = mp.observation_EOP[index][i]; mp.get_observer_position(mp.observation_latitude[index], mp.observation_longitude[index], mp.observation_altitude[index], mp.incremental_state_vector_epoch[index], EOP, observer_r, observer_rprime); for (i=1;i<=3;i++) { mp.observation_r[index][i] = observer_r[i]; mp.observation_rprime[index][i] = observer_rprime[i]; } /* Finally, set the values of the radar-related instance variables to zero for this optical observation. */ mp.radar_delay[index] = 0.0; mp.delay_dev[index] = 0.0; mp.radar_delay_receiver_time[index] = 0.0; mp.radar_delay_receiver_latitude[index] = 0.0; mp.radar_delay_receiver_longitude[index] = 0.0; mp.radar_delay_receiver_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.radar_delay_receiver_EOP[index][i] = 0.0; mp.radar_delay_receiver_tdb_minus_utc[index] = 0.0; for (i=1;i<=3;i++) { mp.radar_delay_receiver_r[index][i] = 0.0; mp.radar_delay_receiver_rprime[index][i] = 0.0; } mp.radar_delay_transmitter_latitude[index] = 0.0; mp.radar_delay_transmitter_longitude[index] = 0.0; mp.radar_delay_transmitter_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.radar_delay_transmitter_EOP[index][i] = 0.0; mp.radar_delay_transmitter_tdb_minus_utc[index] = 0.0; mp.radar_delay_transmitter_frequency[index] = 0.0; mp.radar_doppler[index] = 0.0; mp.doppler_dev[index] = 0.0; mp.radar_doppler_receiver_time[index] = 0.0; mp.radar_doppler_receiver_latitude[index] = 0.0; mp.radar_doppler_receiver_longitude[index] = 0.0; mp.radar_doppler_receiver_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.radar_doppler_receiver_EOP[index][i] = 0.0; mp.radar_doppler_receiver_tdb_minus_utc[index] = 0.0; for (i=1;i<=3;i++) { mp.radar_doppler_receiver_r[index][i] = 0.0; mp.radar_doppler_receiver_rprime[index][i] = 0.0; } mp.radar_doppler_transmitter_latitude[index] = 0.0; mp.radar_doppler_transmitter_longitude[index] = 0.0; mp.radar_doppler_transmitter_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.radar_doppler_transmitter_EOP[index][i] = 0.0; mp.radar_doppler_transmitter_tdb_minus_utc[index] = 0.0; mp.radar_doppler_transmitter_frequency[index] = 0.0; /* Check for duplicate observation. If so, erase the observation and decrement the type counter; if not, complete processing. */ duplicate_observation_flag = false; for (i=1;i<=(index-1);i++) { if ( (mp.optical_time[index] == mp.optical_time[i]) && (mp.optical_ra[index] == mp.optical_ra[i]) && (mp.optical_dec[index] == mp.optical_dec[i]) ) { duplicate_observation_flag = true; } } if (duplicate_observation_flag == true) { erase_observation(index); mp.number_of_optical_observations = mp.number_of_optical_observations - 1; index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; } else if (duplicate_observation_flag == false) { /* We now have a complete (and unique) observation! Sort all of the observations, then save the data file for this minor planet. */ mp.sort_observations(); mp.write_data_to_disk(mp.current_minor_planet); } } void process_radar_obs_1() { /* Method to process the input delay or doppler of an radar observation. The output will be MinorPlanet instance variables. */ int index = 0; double year = 0, month = 0, day = 0, hour = 0, minute = 0, second = 0; /* First, depending on the type of observation (delay or doppler), increment the number of observations, and categorize the observation type. */ if (add_radar_obs_1_Delay.getState()) { mp.number_of_delay_observations = mp.number_of_delay_observations + 1; index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; mp.observation_type[index] = 2; } else { mp.number_of_doppler_observations = mp.number_of_doppler_observations + 1; index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; mp.observation_type[index] = 3; } /* Read the input UTC jultime at the receiver of the radar observation. It will be reduced to TDB once the receiver site lat/long/alt and EOPs are known. */ year = Double.valueOf(add_radar_obs_1_tf7.getText()).doubleValue(); month = Double.valueOf(add_radar_obs_1_tf8.getText()).doubleValue(); day = Double.valueOf(add_radar_obs_1_tf9.getText()).doubleValue(); hour = Double.valueOf(add_radar_obs_1_tf10.getText()).doubleValue(); minute = Double.valueOf(add_radar_obs_1_tf11.getText()).doubleValue(); second = Double.valueOf(add_radar_obs_1_tf12.getText()).doubleValue(); input_juldate = mp.julday(true,(int)year,(int)month,(int)day,(int)hour,(int)minute,second); if (add_radar_obs_1_Delay.getState()) mp.radar_delay_receiver_time[index] = input_juldate; else mp.radar_doppler_receiver_time[index] = input_juldate; /* Read the input delay/doppler and uncertainty, and the transmitter frequency. */ if (add_radar_obs_1_Delay.getState()) { mp.radar_delay[index] = Double.valueOf(add_radar_obs_1_tf2.getText()).doubleValue()/1.0E+06; mp.delay_dev[index] = Double.valueOf(add_radar_obs_1_tf3.getText()).doubleValue()/1.0E+06; mp.radar_delay_transmitter_frequency[index] = Double.valueOf(add_radar_obs_1_tf6.getText()).doubleValue()*1.0E+06; } else { mp.radar_doppler[index] = Double.valueOf(add_radar_obs_1_tf4.getText()).doubleValue(); mp.doppler_dev[index] = Double.valueOf(add_radar_obs_1_tf5.getText()).doubleValue(); mp.radar_doppler_transmitter_frequency[index] = Double.valueOf(add_radar_obs_1_tf6.getText()).doubleValue()*1.0E+06; } } void process_radar_obs_2() { /* Method to process the latlongalt of the transmitter and receiver for a radar observation. The output will be MinorPlanet instance variables in radians and meters. */ double degree = 0, minute = 0, second = 0; int index = 0; String line = " ", sign = " "; /* First, calculate the index. */ index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; /* Check to see if one of the default Radar stations has been selected. If so, use the data for the selected site. Otherwise, read the input lat/long/alt */ if (add_radar_obs_2_xmtr_Arecibo.getState()) { if (mp.observation_type[index] == 2) { /* Delay observation */ mp.radar_delay_transmitter_latitude[index] = (18 + (20 + 36.5/60.0)/60.0)*Math.PI/180.0; mp.radar_delay_transmitter_longitude[index] = (-66 - (45 + 11.2/60.0)/60.0)*Math.PI/180.0; mp.radar_delay_transmitter_altitude[index] = 499.725; } else { /* Doppler observation */ mp.radar_doppler_transmitter_latitude[index] = (18 + (20 + 36.5/60.0)/60.0)*Math.PI/180.0; mp.radar_doppler_transmitter_longitude[index] = (-66 - (45 + 11.2/60.0)/60.0)*Math.PI/180.0; mp.radar_doppler_transmitter_altitude[index] = 499.725; } } else if (add_radar_obs_2_xmtr_DSS13.getState()) { if (mp.observation_type[index] == 2) { /* Delay observation */ mp.radar_delay_transmitter_latitude[index] = (35 + (14 + 51.7/60.0)/60.0)*Math.PI/180.0; mp.radar_delay_transmitter_longitude[index] = (-116 - (47 + 41.6/60.0)/60.0)*Math.PI/180.0; mp.radar_delay_transmitter_altitude[index] = 1066.33; } else { /* Doppler observation */ mp.radar_doppler_transmitter_latitude[index] = (35 + (14 + 51.7/60.0)/60.0)*Math.PI/180.0; mp.radar_doppler_transmitter_longitude[index] = (-116 - (47 + 41.6/60.0)/60.0)*Math.PI/180.0; mp.radar_doppler_transmitter_altitude[index] = 1066.33; } } else if (add_radar_obs_2_xmtr_DSS14.getState()) { if (mp.observation_type[index] == 2) { /* Delay observation */ mp.radar_delay_transmitter_latitude[index] = (35 + (25 + 33.3/60.0)/60.0)*Math.PI/180.0; mp.radar_delay_transmitter_longitude[index] = (-116 - (53 + 22.2/60.0)/60.0)*Math.PI/180.0; mp.radar_delay_transmitter_altitude[index] = 1003.95; } else { /* Doppler observation */ mp.radar_doppler_transmitter_latitude[index] = (35 + (25 + 33.3/60.0)/60.0)*Math.PI/180.0; mp.radar_doppler_transmitter_longitude[index] = (-116 - (53 + 22.2/60.0)/60.0)*Math.PI/180.0; mp.radar_doppler_transmitter_altitude[index] = 1003.95; } } else if (add_radar_obs_2_xmtr_other.getState()) { /* Read the input transmitter latitude, and reduce to radians. */ line = add_radar_obs_2_tf1.getText(); sign = line.substring(0,1); degree = Double.valueOf(line).doubleValue(); minute = Double.valueOf(add_radar_obs_2_tf2.getText()).doubleValue(); second = Double.valueOf(add_radar_obs_2_tf3.getText()).doubleValue(); if (mp.observation_type[index] == 2) { /* Delay observation */ if (sign.equals("-")) mp.radar_delay_transmitter_latitude[index] = (degree - (minute + second/60.0)/60.0)*Math.PI/180.0; else mp.radar_delay_transmitter_latitude[index] = (degree + (minute + second/60.0)/60.0)*Math.PI/180.0; } else { /* Doppler observation */ if (sign.equals("-")) mp.radar_doppler_transmitter_latitude[index] = (degree - (minute + second/60.0)/60.0)*Math.PI/180.0; else mp.radar_doppler_transmitter_latitude[index] = (degree + (minute + second/60.0)/60.0)*Math.PI/180.0; } /* Read the input transmitter longitude, and reduce to radians. */ line = add_radar_obs_2_tf4.getText(); sign = line.substring(0,1); degree = Double.valueOf(line).doubleValue(); minute = Double.valueOf(add_radar_obs_2_tf5.getText()).doubleValue(); second = Double.valueOf(add_radar_obs_2_tf6.getText()).doubleValue(); if (mp.observation_type[index] == 2) { /* Delay observation */ if (sign.equals("-")) mp.radar_delay_transmitter_longitude[index] = (degree - (minute + second/60.0)/60.0)*Math.PI/180.0; else mp.radar_delay_transmitter_longitude[index] = (degree + (minute + second/60.0)/60.0)*Math.PI/180.0; } else { /* Doppler observation */ if (sign.equals("-")) mp.radar_doppler_transmitter_longitude[index] = (degree - (minute + second/60.0)/60.0)*Math.PI/180.0; else mp.radar_doppler_transmitter_longitude[index] = (degree + (minute + second/60.0)/60.0)*Math.PI/180.0; } /* Read the input transmitter altitude, and save. */ if (mp.observation_type[index] == 2) /* Delay observation */ mp.radar_delay_transmitter_altitude[index] = Double.valueOf(add_radar_obs_2_tf7.getText()).doubleValue(); else /* Doppler observation */ mp.radar_doppler_transmitter_altitude[index] = Double.valueOf(add_radar_obs_2_tf7.getText()).doubleValue(); } /* Check to see if one of the default Radar stations has been selected. If so, use the data for the selected site. Otherwise, read the input lat/long/alt */ if (add_radar_obs_2_rcvr_Arecibo.getState()) { if (mp.observation_type[index] == 2) { /* Delay observation */ mp.radar_delay_receiver_latitude[index] = (18 + (20 + 36.5/60.0)/60.0)*Math.PI/180.0; mp.radar_delay_receiver_longitude[index] = (-66 - (45 + 11.2/60.0)/60.0)*Math.PI/180.0; mp.radar_delay_receiver_altitude[index] = 499.725; } else { /* Doppler observation */ mp.radar_doppler_receiver_latitude[index] = (18 + (20 + 36.5/60.0)/60.0)*Math.PI/180.0; mp.radar_doppler_receiver_longitude[index] = (-66 - (45 + 11.2/60.0)/60.0)*Math.PI/180.0; mp.radar_doppler_receiver_altitude[index] = 499.725; } } else if (add_radar_obs_2_rcvr_DSS13.getState()) { if (mp.observation_type[index] == 2) { /* Delay observation */ mp.radar_delay_receiver_latitude[index] = (35 + (14 + 51.7/60.0)/60.0)*Math.PI/180.0; mp.radar_delay_receiver_longitude[index] = (-116 - (47 + 41.6/60.0)/60.0)*Math.PI/180.0; mp.radar_delay_receiver_altitude[index] = 1066.33; } else { /* Doppler observation */ mp.radar_doppler_receiver_latitude[index] = (35 + (14 + 51.7/60.0)/60.0)*Math.PI/180.0; mp.radar_doppler_receiver_longitude[index] = (-116 - (47 + 41.6/60.0)/60.0)*Math.PI/180.0; mp.radar_doppler_receiver_altitude[index] = 1066.33; } } else if (add_radar_obs_2_rcvr_DSS14.getState()) { if (mp.observation_type[index] == 2) { /* Delay observation */ mp.radar_delay_receiver_latitude[index] = (35 + (25 + 33.3/60.0)/60.0)*Math.PI/180.0; mp.radar_delay_receiver_longitude[index] = (-116 - (53 + 22.2/60.0)/60.0)*Math.PI/180.0; mp.radar_delay_receiver_altitude[index] = 1003.95; } else { /* Doppler observation */ mp.radar_doppler_receiver_latitude[index] = (35 + (25 + 33.3/60.0)/60.0)*Math.PI/180.0; mp.radar_doppler_receiver_longitude[index] = (-116 - (53 + 22.2/60.0)/60.0)*Math.PI/180.0; mp.radar_doppler_receiver_altitude[index] = 1003.95; } } else if (add_radar_obs_2_rcvr_other.getState()) { /* Read the input receiver latitude, and reduce to radians. */ line = add_radar_obs_2_tf8.getText(); sign = line.substring(0,1); degree = Double.valueOf(line).doubleValue(); minute = Double.valueOf(add_radar_obs_2_tf9.getText()).doubleValue(); second = Double.valueOf(add_radar_obs_2_tf10.getText()).doubleValue(); if (mp.observation_type[index] == 2) { /* Delay observation */ if (sign.equals("-")) mp.radar_delay_receiver_latitude[index] = (degree - (minute + second/60.0)/60.0)*Math.PI/180.0; else mp.radar_delay_receiver_latitude[index] = (degree + (minute + second/60.0)/60.0)*Math.PI/180.0; } else { /* Doppler observation */ if (sign.equals("-")) mp.radar_doppler_receiver_latitude[index] = (degree - (minute + second/60.0)/60.0)*Math.PI/180.0; else mp.radar_doppler_receiver_latitude[index] = (degree + (minute + second/60.0)/60.0)*Math.PI/180.0; } /* Read the input receiver longitude, and reduce to radians. */ line = add_radar_obs_2_tf11.getText(); sign = line.substring(0,1); degree = Double.valueOf(line).doubleValue(); minute = Double.valueOf(add_radar_obs_2_tf12.getText()).doubleValue(); second = Double.valueOf(add_radar_obs_2_tf13.getText()).doubleValue(); if (mp.observation_type[index] == 2) { /* Delay observation */ if (sign.equals("-")) mp.radar_delay_receiver_longitude[index] = (degree - (minute + second/60.0)/60.0)*Math.PI/180.0; else mp.radar_delay_receiver_longitude[index] = (degree + (minute + second/60.0)/60.0)*Math.PI/180.0; } else { /* Doppler observation */ if (sign.equals("-")) mp.radar_doppler_receiver_longitude[index] = (degree - (minute + second/60.0)/60.0)*Math.PI/180.0; else mp.radar_doppler_receiver_longitude[index] = (degree + (minute + second/60.0)/60.0)*Math.PI/180.0; } /* Read the input receiver altitude, and save. */ if (mp.observation_type[index] == 2) /* Delay observation */ mp.radar_delay_receiver_altitude[index] = Double.valueOf(add_radar_obs_2_tf14.getText()).doubleValue(); else /* Doppler observation */ mp.radar_doppler_receiver_altitude[index] = Double.valueOf(add_radar_obs_2_tf14.getText()).doubleValue(); } } void process_radar_obs_3() { /* Method to process the Earth Orientation Parameters of a radar observation. The output will be MinorPlanet instance variable arrays for transmitting and receiving EOPs, as well as the position and velocity of the receiving site, and the TDB time of the observation. */ double item1 = 0, item2 = 0, item3 = 0, item4 = 0, value1 = 0, value2 = 0, receiver_tdt_time = 0, transmitter_tdt_time = 0, leap_seconds = 0, day = 0, delta_psi1 = 0, delta_psi2 = 0, delta_psi3 = 0, delta_psi4 = 0, delta_epsilon1 = 0, delta_epsilon2 = 0, delta_epsilon3 = 0, delta_epsilon4 = 0, twobody_delay = 0; double[] earth_r = new double[4]; double[] mp_r = new double[4]; double[] mp_rprime = new double[4]; double[] mp_r_final = new double[4]; double[] mp_rprime_final = new double[4]; double[] nutation_vector = new double[4]; double[] EOP = new double[8]; double[] observer_r = new double[4]; double[] observer_rprime = new double[4]; int index = 0, i = 0; boolean delta_psi_flag = true, delta_epsilon_flag = true; boolean duplicate_observation_flag = false; /* First, calculate the index */ index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; /* Read the number of leap seconds, and use that to calculate the TDT corresponding to the transmitter and receiver times in UTC. If the user has set leap_seconds = 0, use the look-up table. Note that TDT - UTC = (TDT - TAI) + (TAI - UTC) = (32.184s) + (number of leap seconds) */ /* I'm adding fault-tolerant logic to the processing of each EOP input text field. Open fields will now be processed as zeros, rather than flagged as errors. I expect users will frequently skip these fields; this will allow them to do so painlessly. */ if (add_radar_obs_3_tf21.getText().equals("")) leap_seconds = 0.0; else leap_seconds = Double.valueOf(add_radar_obs_3_tf21.getText()).doubleValue(); if (mp.observation_type[index] == 2) { if (leap_seconds == 0.0) leap_seconds = mp.get_leap_second(mp.radar_delay_receiver_time[index]); receiver_tdt_time = mp.radar_delay_receiver_time[index] + (32.184 + leap_seconds)/86400.0; transmitter_tdt_time = receiver_tdt_time - mp.radar_delay[index]/86400.0; } else if (mp.observation_type[index] == 3) { if (leap_seconds == 0.0) leap_seconds = mp.get_leap_second(mp.radar_doppler_receiver_time[index]); receiver_tdt_time = mp.radar_doppler_receiver_time[index] + (32.184 + leap_seconds)/86400.0; /* Here we have a problem. Transmitter time = receiver time - delay; but in this case, we don't know the delay. So I've got two choices: Either estimate the delay from an existing orbital solution, or assume transmitter time = receiver time (if an orbital solution doesn't exist). Since JPL will soon be capable of tracking main belt asteroids, the former solution is much preferred. Otherwise, the accuracy of the interpolated EOPs will suffer. However, I don't want to introduce massive processing delays into the input process; if the epoch is far from the observation time, the integration alone could take tens of minutes. Thus, I'll use two-body mechanics. I'll call planetary_ephemeris to get the positions of the Sun and Earth at the receiver time, and use two_body_update to estimate the distance (and resulting delay) between the minor planet and Earth at that time; the transmitter time will be the receiver time minus twice that distance/c. Finally, I should note that this first approximation to transmitter time will not have any serious consequences. The items impacted are the EOPs, for which the approximation is quite sufficient. The transmitter tdb_minus_utc is taken to be the same as that of the receiver for doppler observations, which is more accurate than attempting to estimate delay; moreover, the transmitter tdb_minus_utc is only used for delay calculations, so the doppler approximation is irrelevant. The transmitter posvel is not even computed here, and is, in any case, iteratively recalculated in get_observed_radar_delay_doppler. */ /* Update for 11-17-00: The two-body approach has a fatal flaw. If the epoch is much different than the observation time, perturbations from intervening close approaches will make the two-body estimate completely unreliable. Moreover, experience has shown that the interpolations do not have to be phenomenally precise. Thus, I will simply take transmitter_tdt_time = receiver_tdt_time. */ transmitter_tdt_time = receiver_tdt_time; } /* Read the input x values, interpolate, and reduce to radians. */ if (add_radar_obs_3_tf1.getText().equals("")) item1 = 0.0; else item1 = Double.valueOf(add_radar_obs_3_tf1.getText()).doubleValue(); if (add_radar_obs_3_tf6.getText().equals("")) item2 = 0.0; else item2 = Double.valueOf(add_radar_obs_3_tf6.getText()).doubleValue(); if (add_radar_obs_3_tf11.getText().equals("")) item3 = 0.0; else item3 = Double.valueOf(add_radar_obs_3_tf11.getText()).doubleValue(); if (add_radar_obs_3_tf16.getText().equals("")) item4 = 0.0; else item4 = Double.valueOf(add_radar_obs_3_tf16.getText()).doubleValue(); value1 = mp.interpolation(item1, item2, item3, item4, receiver_tdt_time - (32.184 + leap_seconds)/86400.0); value2 = mp.interpolation(item1, item2, item3, item4, transmitter_tdt_time - (32.184 + leap_seconds)/86400.0); if (mp.observation_type[index] == 2) { mp.radar_delay_receiver_EOP[index][1] = (value1/3600.0)*Math.PI/180.0; mp.radar_delay_transmitter_EOP[index][1] = (value2/3600.0)*Math.PI/180.0; } else if (mp.observation_type[index] == 3) { mp.radar_doppler_receiver_EOP[index][1] = (value1/3600.0)*Math.PI/180.0; mp.radar_doppler_transmitter_EOP[index][1] = (value2/3600.0)*Math.PI/180.0; } /* Read the input y values, interpolate, and reduce to radians. */ if (add_radar_obs_3_tf2.getText().equals("")) item1 = 0.0; else item1 = Double.valueOf(add_radar_obs_3_tf2.getText()).doubleValue(); if (add_radar_obs_3_tf7.getText().equals("")) item2 = 0.0; else item2 = Double.valueOf(add_radar_obs_3_tf7.getText()).doubleValue(); if (add_radar_obs_3_tf12.getText().equals("")) item3 = 0.0; else item3 = Double.valueOf(add_radar_obs_3_tf12.getText()).doubleValue(); if (add_radar_obs_3_tf17.getText().equals("")) item4 = 0.0; else item4 = Double.valueOf(add_radar_obs_3_tf17.getText()).doubleValue(); value1 = mp.interpolation(item1, item2, item3, item4, receiver_tdt_time - (32.184 + leap_seconds)/86400.0); value2 = mp.interpolation(item1, item2, item3, item4, transmitter_tdt_time - (32.184 + leap_seconds)/86400.0); if (mp.observation_type[index] == 2) { mp.radar_delay_receiver_EOP[index][2] = (value1/3600.0)*Math.PI/180.0; mp.radar_delay_transmitter_EOP[index][2] = (value2/3600.0)*Math.PI/180.0; } else if (mp.observation_type[index] == 3) { mp.radar_doppler_receiver_EOP[index][2] = (value1/3600.0)*Math.PI/180.0; mp.radar_doppler_transmitter_EOP[index][2] = (value2/3600.0)*Math.PI/180.0; } /* Read the input (UT1-UTC) values, and calculate interpolated (UT1-TAI). */ /* Note that (UT1-TAI) = (UT1-UTC) + (UTC-TAI) = (UT1-UTC) - leap_seconds */ if (add_radar_obs_3_tf3.getText().equals("")) item1 = 0.0; else item1 = Double.valueOf(add_radar_obs_3_tf3.getText()).doubleValue(); if (add_radar_obs_3_tf8.getText().equals("")) item2 = 0.0; else item2 = Double.valueOf(add_radar_obs_3_tf8.getText()).doubleValue(); if (add_radar_obs_3_tf13.getText().equals("")) item3 = 0.0; else item3 = Double.valueOf(add_radar_obs_3_tf13.getText()).doubleValue(); if (add_radar_obs_3_tf18.getText().equals("")) item4 = 0.0; else item4 = Double.valueOf(add_radar_obs_3_tf18.getText()).doubleValue(); value1 = mp.interpolation(item1, item2, item3, item4, receiver_tdt_time - (32.184 + leap_seconds)/86400.0); value2 = mp.interpolation(item1, item2, item3, item4, transmitter_tdt_time - (32.184 + leap_seconds)/86400.0); if (mp.observation_type[index] == 2) { mp.radar_delay_receiver_EOP[index][3] = value1 - leap_seconds; mp.radar_delay_transmitter_EOP[index][3] = value2 - leap_seconds; } else if (mp.observation_type[index] == 3) { mp.radar_doppler_receiver_EOP[index][3] = value1 - leap_seconds; mp.radar_doppler_transmitter_EOP[index][3] = value2 - leap_seconds; } /* To calculate the 4'th and 5'th entries in observation_EOP, the nutation method will be called for days n-1, n, n+1, and n+2; the resulting IAU1980 values for delta_Psi and delta_Epsilon will be added to the entered corrections and interpolated. The 6'th entry in observation_EOP comes from a direct call to nutation_IAU1980 at the TDT observation time. Note that the "day" inputs to nutation_1980 must be TDT; the UTC times will be converted for input. */ /* After giving the matter further thought, I've realized that a user could use this screen simply to enter the number of leap seconds, leaving all other entries as zero. This would obviate the need to estimate the number of leap seconds, and the resulting value of UT1-TAI would be more accurate. However, the algorithm at present would use interpolated nutation_1980 values for delta_psi and delta_epsilon, rather than a direct call to (the presumably more accurate) nutation at the TDT observation time. Indeed, this is what get_observer_position does in the event of zero entries; I can't justify doing less here. Thus, I will test for zero entries, and use nutation values as needed. */ if (mp.observation_type[index] == 2) day = Math.floor(mp.radar_delay_receiver_time[index] - 0.5) + 0.5 + (32.184 + leap_seconds)/86400.0; else if (mp.observation_type[index] == 3) day = Math.floor(mp.radar_doppler_receiver_time[index] - 0.5) + 0.5 + (32.184 + leap_seconds)/86400.0; mp.nutation_IAU1980(day,nutation_vector); if (add_radar_obs_3_tf4.getText().equals("")) delta_psi1 = nutation_vector[1]; else delta_psi1 = nutation_vector[1] + (Double.valueOf(add_radar_obs_3_tf4.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_psi1 != nutation_vector[1]) delta_psi_flag = false; if (add_radar_obs_3_tf5.getText().equals("")) delta_epsilon1 = nutation_vector[2]; else delta_epsilon1 = nutation_vector[2] + (Double.valueOf(add_radar_obs_3_tf5.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_epsilon1 != nutation_vector[2]) delta_epsilon_flag = false; if (mp.observation_type[index] == 2) day = Math.floor(mp.radar_delay_receiver_time[index] + 0.5) + 0.5 + (32.184 + leap_seconds)/86400.0; else if (mp.observation_type[index] == 3) day = Math.floor(mp.radar_doppler_receiver_time[index] + 0.5) + 0.5 + (32.184 + leap_seconds)/86400.0; mp.nutation_IAU1980(day,nutation_vector); if (add_radar_obs_3_tf9.getText().equals("")) delta_psi2 = nutation_vector[1]; else delta_psi2 = nutation_vector[1] + (Double.valueOf(add_radar_obs_3_tf9.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_psi2 != nutation_vector[1]) delta_psi_flag = false; if (add_radar_obs_3_tf10.getText().equals("")) delta_epsilon2 = nutation_vector[2]; else delta_epsilon2 = nutation_vector[2] + (Double.valueOf(add_radar_obs_3_tf10.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_epsilon2 != nutation_vector[2]) delta_epsilon_flag = false; if (mp.observation_type[index] == 2) day = Math.floor(mp.radar_delay_receiver_time[index] + 1.5) + 0.5 + (32.184 + leap_seconds)/86400.0; else if (mp.observation_type[index] == 3) day = Math.floor(mp.radar_doppler_receiver_time[index] + 1.5) + 0.5 + (32.184 + leap_seconds)/86400.0; mp.nutation_IAU1980(day,nutation_vector); if (add_radar_obs_3_tf14.getText().equals("")) delta_psi3 = nutation_vector[1]; else delta_psi3 = nutation_vector[1] + (Double.valueOf(add_radar_obs_3_tf14.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_psi3 != nutation_vector[1]) delta_psi_flag = false; if (add_radar_obs_3_tf15.getText().equals("")) delta_epsilon3 = nutation_vector[2]; else delta_epsilon3 = nutation_vector[2] + (Double.valueOf(add_radar_obs_3_tf15.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_epsilon3 != nutation_vector[2]) delta_epsilon_flag = false; if (mp.observation_type[index] == 2) day = Math.floor(mp.radar_delay_receiver_time[index] + 2.5) + 0.5 + (32.184 + leap_seconds)/86400.0; else if (mp.observation_type[index] == 3) day = Math.floor(mp.radar_doppler_receiver_time[index] + 2.5) + 0.5 + (32.184 + leap_seconds)/86400.0; mp.nutation_IAU1980(day,nutation_vector); if (add_radar_obs_3_tf19.getText().equals("")) delta_psi4 = nutation_vector[1]; else delta_psi4 = nutation_vector[1] + (Double.valueOf(add_radar_obs_3_tf19.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_psi4 != nutation_vector[1]) delta_psi_flag = false; if (add_radar_obs_3_tf20.getText().equals("")) delta_epsilon4 = nutation_vector[2]; else delta_epsilon4 = nutation_vector[2] + (Double.valueOf(add_radar_obs_3_tf20.getText()).doubleValue())*Math.PI/(3600.0*180.0); if (delta_epsilon4 != nutation_vector[2]) delta_epsilon_flag = false; if ((delta_psi_flag) || (delta_epsilon_flag)) mp.nutation(receiver_tdt_time,nutation_vector); else mp.nutation_IAU1980(receiver_tdt_time,nutation_vector); if (delta_psi_flag) { if (mp.observation_type[index] == 2) mp.radar_delay_receiver_EOP[index][4] = nutation_vector[1]; else if (mp.observation_type[index] == 3) mp.radar_doppler_receiver_EOP[index][4] = nutation_vector[1]; } else { if (mp.observation_type[index] == 2) mp.radar_delay_receiver_EOP[index][4] = mp.interpolation(delta_psi1, delta_psi2, delta_psi3, delta_psi4, mp.radar_delay_receiver_time[index]); else if (mp.observation_type[index] == 3) mp.radar_doppler_receiver_EOP[index][4] = mp.interpolation(delta_psi1, delta_psi2, delta_psi3, delta_psi4, mp.radar_doppler_receiver_time[index]); } if (delta_epsilon_flag) { if (mp.observation_type[index] == 2) mp.radar_delay_receiver_EOP[index][5] = nutation_vector[2]; else if (mp.observation_type[index] == 3) mp.radar_doppler_receiver_EOP[index][5] = nutation_vector[2]; } else { if (mp.observation_type[index] == 2) mp.radar_delay_receiver_EOP[index][5] = mp.interpolation(delta_epsilon1, delta_epsilon2, delta_epsilon3, delta_epsilon4, mp.radar_delay_receiver_time[index]); else if (mp.observation_type[index] == 3) mp.radar_doppler_receiver_EOP[index][5] = mp.interpolation(delta_epsilon1, delta_epsilon2, delta_epsilon3, delta_epsilon4, mp.radar_doppler_receiver_time[index]); } if (mp.observation_type[index] == 2) mp.radar_delay_receiver_EOP[index][6] = nutation_vector[3]; else if (mp.observation_type[index] == 3) mp.radar_doppler_receiver_EOP[index][6] = nutation_vector[3]; if ((delta_psi_flag) || (delta_epsilon_flag)) mp.nutation(transmitter_tdt_time,nutation_vector); else mp.nutation_IAU1980(transmitter_tdt_time,nutation_vector); if (delta_psi_flag) { if (mp.observation_type[index] == 2) mp.radar_delay_transmitter_EOP[index][4] = nutation_vector[1]; else if (mp.observation_type[index] == 3) mp.radar_doppler_transmitter_EOP[index][4] = nutation_vector[1]; } else { if (mp.observation_type[index] == 2) mp.radar_delay_transmitter_EOP[index][4] = mp.interpolation(delta_psi1, delta_psi2, delta_psi3, delta_psi4, transmitter_tdt_time - (32.184 + leap_seconds)/86400.0); else if (mp.observation_type[index] == 3) mp.radar_doppler_transmitter_EOP[index][4] = mp.interpolation(delta_psi1, delta_psi2, delta_psi3, delta_psi4, transmitter_tdt_time - (32.184 + leap_seconds)/86400.0); } if (delta_epsilon_flag) { if (mp.observation_type[index] == 2) mp.radar_delay_transmitter_EOP[index][5] = nutation_vector[2]; else if (mp.observation_type[index] == 3) mp.radar_doppler_transmitter_EOP[index][5] = nutation_vector[2]; } else { if (mp.observation_type[index] == 2) mp.radar_delay_transmitter_EOP[index][5] = mp.interpolation(delta_epsilon1, delta_epsilon2, delta_epsilon3, delta_epsilon4, transmitter_tdt_time - (32.184 + leap_seconds)/86400.0); else if (mp.observation_type[index] == 3) mp.radar_doppler_transmitter_EOP[index][5] = mp.interpolation(delta_epsilon1, delta_epsilon2, delta_epsilon3, delta_epsilon4, transmitter_tdt_time - (32.184 + leap_seconds)/86400.0); } if (mp.observation_type[index] == 2) mp.radar_delay_transmitter_EOP[index][6] = nutation_vector[3]; else if (mp.observation_type[index] == 3) mp.radar_doppler_transmitter_EOP[index][6] = nutation_vector[3]; /* Next, the Earth's angular velocity is read and saved. */ if (add_radar_obs_3_tf22.getText().equals("")) { if (mp.observation_type[index] == 2) { mp.radar_delay_receiver_EOP[index][7] = 0.0; mp.radar_delay_transmitter_EOP[index][7] = 0.0; } else if (mp.observation_type[index] == 3) { mp.radar_doppler_receiver_EOP[index][7] = 0.0; mp.radar_doppler_transmitter_EOP[index][7] = 0.0; } } else { if (mp.observation_type[index] == 2) { mp.radar_delay_receiver_EOP[index][7] = (Double.valueOf(add_radar_obs_3_tf22.getText()).doubleValue())*1.0E-06; mp.radar_delay_transmitter_EOP[index][7] = (Double.valueOf(add_radar_obs_3_tf22.getText()).doubleValue())*1.0E-06; } else if (mp.observation_type[index] == 3) { mp.radar_doppler_receiver_EOP[index][7] = (Double.valueOf(add_radar_obs_3_tf22.getText()).doubleValue())*1.0E-06; mp.radar_doppler_transmitter_EOP[index][7] = (Double.valueOf(add_radar_obs_3_tf22.getText()).doubleValue())*1.0E-06; } } /* Now, using this data, calculate the TDB observation time, and the posvel of the observing site. */ if (mp.observation_type[index] == 2) { mp.incremental_state_vector_epoch[index] = mp.tdt_to_tdb(receiver_tdt_time, mp.radar_delay_receiver_latitude[index], mp.radar_delay_receiver_longitude[index], mp.radar_delay_receiver_altitude[index], mp.radar_delay_receiver_EOP[index][3]); mp.radar_delay_receiver_tdb_minus_utc[index] = (mp.incremental_state_vector_epoch[index] - mp.radar_delay_receiver_time[index])*86400.0; mp.radar_delay_transmitter_tdb_minus_utc[index] = (mp.tdt_to_tdb(transmitter_tdt_time, mp.radar_delay_transmitter_latitude[index], mp.radar_delay_transmitter_longitude[index], mp.radar_delay_transmitter_altitude[index], mp.radar_delay_transmitter_EOP[index][3]) - (mp.radar_delay_receiver_time[index] - mp.radar_delay[index]/86400.0))*86400.0; } else if (mp.observation_type[index] == 3) { mp.incremental_state_vector_epoch[index] = mp.tdt_to_tdb(receiver_tdt_time, mp.radar_doppler_receiver_latitude[index], mp.radar_doppler_receiver_longitude[index], mp.radar_doppler_receiver_altitude[index], mp.radar_doppler_receiver_EOP[index][3]); mp.radar_doppler_receiver_tdb_minus_utc[index] = (mp.incremental_state_vector_epoch[index] - mp.radar_doppler_receiver_time[index])*86400.0; /* Here we have a similar problem. What is radar_doppler_transmitter_time_UTC? I could estimate it again using a two-body approximation. However, that could be off by several seconds. Since TDB-UTC = (TDB-TDT) + (TDT-TAI) + (TAI-UTC) = very small + fixed + leap seconds, and since the very small (TDB-TDT) varies only slightly with time and location, I think a better approximation is simply to use the receiver value for TDB-UTC. */ mp.radar_doppler_transmitter_tdb_minus_utc[index] = mp.radar_doppler_receiver_tdb_minus_utc[index]; } if (mp.observation_type[index] == 2) { for (i=1;i<=7;i++) EOP[i] = mp.radar_delay_receiver_EOP[index][i]; mp.get_observer_position(mp.radar_delay_receiver_latitude[index], mp.radar_delay_receiver_longitude[index], mp.radar_delay_receiver_altitude[index], mp.incremental_state_vector_epoch[index], EOP, observer_r, observer_rprime); for (i=1;i<=3;i++) { mp.radar_delay_receiver_r[index][i] = observer_r[i]; mp.radar_delay_receiver_rprime[index][i] = observer_rprime[i]; } } else if (mp.observation_type[index] == 3) { for (i=1;i<=7;i++) EOP[i] = mp.radar_doppler_receiver_EOP[index][i]; mp.get_observer_position(mp.radar_doppler_receiver_latitude[index], mp.radar_doppler_receiver_longitude[index], mp.radar_doppler_receiver_altitude[index], mp.incremental_state_vector_epoch[index], EOP, observer_r, observer_rprime); for (i=1;i<=3;i++) { mp.radar_doppler_receiver_r[index][i] = observer_r[i]; mp.radar_doppler_receiver_rprime[index][i] = observer_rprime[i]; } } /* Set the values of the delay-related instance variables to zero for a doppler observation, or set the values of the doppler-related instance variables to zero for a delay observation. */ if (mp.observation_type[index] == 3) { mp.radar_delay[index] = 0.0; mp.delay_dev[index] = 0.0; mp.radar_delay_receiver_time[index] = 0.0; mp.radar_delay_receiver_latitude[index] = 0.0; mp.radar_delay_receiver_longitude[index] = 0.0; mp.radar_delay_receiver_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.radar_delay_receiver_EOP[index][i] = 0.0; mp.radar_delay_receiver_tdb_minus_utc[index] = 0.0; for (i=1;i<=3;i++) { mp.radar_delay_receiver_r[index][i] = 0.0; mp.radar_delay_receiver_rprime[index][i] = 0.0; } mp.radar_delay_transmitter_latitude[index] = 0.0; mp.radar_delay_transmitter_longitude[index] = 0.0; mp.radar_delay_transmitter_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.radar_delay_transmitter_EOP[index][i] = 0.0; mp.radar_delay_transmitter_tdb_minus_utc[index] = 0.0; mp.radar_delay_transmitter_frequency[index] = 0.0; } else if (mp.observation_type[index] == 2) { mp.radar_doppler[index] = 0.0; mp.doppler_dev[index] = 0.0; mp.radar_doppler_receiver_time[index] = 0.0; mp.radar_doppler_receiver_latitude[index] = 0.0; mp.radar_doppler_receiver_longitude[index] = 0.0; mp.radar_doppler_receiver_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.radar_doppler_receiver_EOP[index][i] = 0.0; mp.radar_doppler_receiver_tdb_minus_utc[index] = 0.0; for (i=1;i<=3;i++) { mp.radar_doppler_receiver_r[index][i] = 0.0; mp.radar_doppler_receiver_rprime[index][i] = 0.0; } mp.radar_doppler_transmitter_latitude[index] = 0.0; mp.radar_doppler_transmitter_longitude[index] = 0.0; mp.radar_doppler_transmitter_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.radar_doppler_transmitter_EOP[index][i] = 0.0; mp.radar_doppler_transmitter_tdb_minus_utc[index] = 0.0; mp.radar_doppler_transmitter_frequency[index] = 0.0; } /* Finally, set the values of the optical-related instance variables to zero for this radar observation. */ mp.optical_ra[index] = 0.0; mp.ra_dev[index] = 0.0; mp.optical_dec[index] = 0.0; mp.dec_dev[index] = 0.0; mp.optical_time[index] = 0.0; mp.visual_magnitude[index] = 0; mp.visual_magnitude_dev[index] = 0; mp.observation_geocentric[index] = false; mp.observation_latitude[index] = 0.0; mp.observation_longitude[index] = 0.0; mp.observation_altitude[index] = 0.0; for (i=1;i<=7;i++) mp.observation_EOP[index][i] = 0.0; for (i=1;i<=3;i++) { mp.observation_r[index][i] = 0.0; mp.observation_rprime[index][i] = 0.0; } /* Check for duplicate observation. If so, erase the observation and decrement the type counter; if not, complete processing. */ duplicate_observation_flag = false; if (mp.observation_type[index] == 2) { for (i=1;i<=(index-1);i++) { if ( (mp.radar_delay_receiver_time[index] == mp.radar_delay_receiver_time[i]) && (mp.radar_delay[index] == mp.radar_delay[i]) && (mp.radar_delay_transmitter_latitude[index] == mp.radar_delay_transmitter_latitude[i]) && (mp.radar_delay_transmitter_longitude[index] == mp.radar_delay_transmitter_longitude[i]) && (mp.radar_delay_transmitter_altitude[index] == mp.radar_delay_transmitter_altitude[i]) && (mp.radar_delay_transmitter_frequency[index] == mp.radar_delay_transmitter_frequency[i]) && (mp.radar_delay_receiver_latitude[index] == mp.radar_delay_receiver_latitude[i]) && (mp.radar_delay_receiver_longitude[index] == mp.radar_delay_receiver_longitude[i]) && (mp.radar_delay_receiver_altitude[index] == mp.radar_delay_receiver_altitude[i]) ) { duplicate_observation_flag = true; } } } else if (mp.observation_type[index] == 3) { for (i=1;i<=(index-1);i++) { if ( (mp.radar_doppler_receiver_time[index] == mp.radar_doppler_receiver_time[i]) && (mp.radar_doppler[index] == mp.radar_doppler[i]) && (mp.radar_doppler_transmitter_latitude[index] == mp.radar_doppler_transmitter_latitude[i]) && (mp.radar_doppler_transmitter_longitude[index] == mp.radar_doppler_transmitter_longitude[i]) && (mp.radar_doppler_transmitter_altitude[index] == mp.radar_doppler_transmitter_altitude[i]) && (mp.radar_doppler_transmitter_frequency[index] == mp.radar_doppler_transmitter_frequency[i]) && (mp.radar_doppler_receiver_latitude[index] == mp.radar_doppler_receiver_latitude[i]) && (mp.radar_doppler_receiver_longitude[index] == mp.radar_doppler_receiver_longitude[i]) && (mp.radar_doppler_receiver_altitude[index] == mp.radar_doppler_receiver_altitude[i]) ) { duplicate_observation_flag = true; } } } if (duplicate_observation_flag == true) { erase_observation(index); if (mp.observation_type[index] == 2) mp.number_of_delay_observations = mp.number_of_delay_observations - 1; else if (mp.observation_type[index] == 3) mp.number_of_doppler_observations = mp.number_of_doppler_observations - 1; index = mp.number_of_optical_observations + mp.number_of_delay_observations + mp.number_of_doppler_observations; } else if (duplicate_observation_flag == false) { /* We now have a complete (and unique) observation! Sort all of the observations, then save the data file for this minor planet. */ mp.sort_observations(); mp.write_data_to_disk(mp.current_minor_planet); } } void input_state_vector() { /* This method allows the user to input the state vector and non-gravitational thrust parameters of a minor planet. It reuses the existing pane, which must be cleared and retitled. */ int i = 0; pane.removeAll(); setTitle("minor planet " + mp.current_minor_planet); /* Initialize the text fields */ input_state_vector_tf0.setText(Double.toString(mp.epoch_time)); input_state_vector_tf1.setText(Double.toString(mp.epoch_r[1])); input_state_vector_tf2.setText(Double.toString(Math.sqrt(mp.big_p[1][1]))); input_state_vector_tf3.setText(Double.toString(mp.epoch_r[2])); input_state_vector_tf4.setText(Double.toString(Math.sqrt(mp.big_p[2][2]))); input_state_vector_tf5.setText(Double.toString(mp.epoch_r[3])); input_state_vector_tf6.setText(Double.toString(Math.sqrt(mp.big_p[3][3]))); input_state_vector_tf7.setText(Double.toString(mp.epoch_rprime[1])); input_state_vector_tf8.setText(Double.toString(Math.sqrt(mp.big_p[4][4]))); input_state_vector_tf9.setText(Double.toString(mp.epoch_rprime[2])); input_state_vector_tf10.setText(Double.toString(Math.sqrt(mp.big_p[5][5]))); input_state_vector_tf11.setText(Double.toString(mp.epoch_rprime[3])); input_state_vector_tf12.setText(Double.toString(Math.sqrt(mp.big_p[6][6]))); input_state_vector_tf13.setText(Double.toString(mp.A1_A2_DT[1]*1.0E+09)); input_state_vector_tf14.setText(Double.toString(Math.sqrt(mp.big_p[7][7])*1.0E+09)); input_state_vector_tf15.setText(Double.toString(mp.A1_A2_DT[2]*1.0E+09)); input_state_vector_tf16.setText(Double.toString(Math.sqrt(mp.big_p[8][8])*1.0E+09)); input_state_vector_tf17.setText(Double.toString(mp.A1_A2_DT[3])); /* Define a layout manager for the pane */ GridBagLayout input_state_vector_layout = new GridBagLayout(); GridBagConstraints input_state_vector_constraints = new GridBagConstraints(); pane.setLayout(input_state_vector_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); Font font_g = new Font("monospaced",Font.BOLD,12); Font font_h = new Font("monospaced",Font.BOLD,14); Font font_i = new Font("monospaced",Font.PLAIN,10); /* Add constraints to input_state_vector_label1, then add it to pane */ JLabel input_state_vector_label1 = new JLabel("Input the Barycentric Equatorial State Vector"); buildConstraints(input_state_vector_constraints,0,0,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_label1,input_state_vector_constraints); input_state_vector_label1.setFont(font_h); pane.add(input_state_vector_label1); /* Add constraints to input_state_vector_blank00, then add it to pane */ JLabel input_state_vector_blank00 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,1,7,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank00,input_state_vector_constraints); input_state_vector_blank00.setFont(font_f); pane.add(input_state_vector_blank00); /* Add constraints to input_state_vector_label1a, then add it to pane */ JLabel input_state_vector_label1a = new JLabel("for TDB Epoch "); buildConstraints(input_state_vector_constraints,7,1,4,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_label1a,input_state_vector_constraints); input_state_vector_label1a.setFont(font_h); pane.add(input_state_vector_label1a); /* Add constraints to input_state_vector_tf0, then add it to pane */ buildConstraints(input_state_vector_constraints,11,1,6,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_tf0,input_state_vector_constraints); input_state_vector_tf0.setFont(font_f); pane.add(input_state_vector_tf0); /* Add constraints to input_state_vector_blank0, then add it to pane */ JLabel input_state_vector_blank0 = new JLabel(" "); buildConstraints(input_state_vector_constraints,17,1,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank0,input_state_vector_constraints); input_state_vector_blank0.setFont(font_f); pane.add(input_state_vector_blank0); /* Add constraints to input_state_vector_label1b, then add it to pane */ JLabel input_state_vector_label1b = new JLabel("Note: Reference Frame is ICRF/J2000"); buildConstraints(input_state_vector_constraints,0,2,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_label1b,input_state_vector_constraints); input_state_vector_label1b.setFont(font_f); pane.add(input_state_vector_label1b); /* Add constraints to input_state_vector_blank0a, then add it to pane */ JLabel input_state_vector_blank0a = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,3,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank0a,input_state_vector_constraints); input_state_vector_blank0a.setFont(font_f); pane.add(input_state_vector_blank0a); /* Add constraints to input_state_vector_label1c, then add it to pane */ JLabel input_state_vector_label1c = new JLabel("coordinate"); buildConstraints(input_state_vector_constraints,4,4,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_label1c,input_state_vector_constraints); input_state_vector_label1c.setFont(font_f); pane.add(input_state_vector_label1c); /* Add constraints to input_state_vector_label1d, then add it to pane */ JLabel input_state_vector_label1d = new JLabel("covariance"); buildConstraints(input_state_vector_constraints,13,4,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_label1d,input_state_vector_constraints); input_state_vector_label1d.setFont(font_f); pane.add(input_state_vector_label1d); /* Add constraints to input_state_vector_blank2, then add it to pane */ JLabel input_state_vector_blank2 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,5,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank2,input_state_vector_constraints); input_state_vector_blank2.setFont(font_f); pane.add(input_state_vector_blank2); /* Add constraints to input_state_vector_label2, then add it to pane */ JLabel input_state_vector_label2 = new JLabel("x"); buildConstraints(input_state_vector_constraints,1,5,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label2,input_state_vector_constraints); input_state_vector_label2.setFont(font_g); pane.add(input_state_vector_label2); /* Add constraints to input_state_vector_tf1, then add it to pane */ buildConstraints(input_state_vector_constraints,3,5,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf1,input_state_vector_constraints); input_state_vector_tf1.setFont(font_f); pane.add(input_state_vector_tf1); /* Add constraints to input_state_vector_label2a, then add it to pane */ JLabel input_state_vector_label2a = new JLabel(" AU"); buildConstraints(input_state_vector_constraints,9,5,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label2a,input_state_vector_constraints); input_state_vector_label2a.setFont(font_f); pane.add(input_state_vector_label2a); /* Add constraints to input_state_vector_blank100, then add it to pane */ JLabel input_state_vector_blank100 = new JLabel(" "); buildConstraints(input_state_vector_constraints,11,5,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank100,input_state_vector_constraints); input_state_vector_blank100.setFont(font_f); pane.add(input_state_vector_blank100); /* Add constraints to input_state_vector_tf2, then add it to pane */ buildConstraints(input_state_vector_constraints,12,5,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf2,input_state_vector_constraints); input_state_vector_tf2.setFont(font_f); pane.add(input_state_vector_tf2); /* Add constraints to input_state_vector_label3, then add it to pane */ JLabel input_state_vector_label3 = new JLabel(" AU"); buildConstraints(input_state_vector_constraints,18,5,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label3,input_state_vector_constraints); input_state_vector_label3.setFont(font_f); pane.add(input_state_vector_label3); /* Add constraints to input_state_vector_blank4, then add it to pane */ JLabel input_state_vector_blank4 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank4,input_state_vector_constraints); input_state_vector_blank4.setFont(font_f); pane.add(input_state_vector_blank4); /* Add constraints to input_state_vector_label4, then add it to pane */ JLabel input_state_vector_label4 = new JLabel("y"); buildConstraints(input_state_vector_constraints,1,6,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label4,input_state_vector_constraints); input_state_vector_label4.setFont(font_g); pane.add(input_state_vector_label4); /* Add constraints to input_state_vector_tf3, then add it to pane */ buildConstraints(input_state_vector_constraints,3,6,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf3,input_state_vector_constraints); input_state_vector_tf3.setFont(font_f); pane.add(input_state_vector_tf3); /* Add constraints to input_state_vector_label5a, then add it to pane */ JLabel input_state_vector_label5a = new JLabel(" AU"); buildConstraints(input_state_vector_constraints,9,6,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label5a,input_state_vector_constraints); input_state_vector_label5a.setFont(font_f); pane.add(input_state_vector_label5a); /* Add constraints to input_state_vector_blank101, then add it to pane */ JLabel input_state_vector_blank101 = new JLabel(" "); buildConstraints(input_state_vector_constraints,11,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank101,input_state_vector_constraints); input_state_vector_blank101.setFont(font_f); pane.add(input_state_vector_blank101); /* Add constraints to input_state_vector_tf4, then add it to pane */ buildConstraints(input_state_vector_constraints,12,6,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf4,input_state_vector_constraints); input_state_vector_tf4.setFont(font_f); pane.add(input_state_vector_tf4); /* Add constraints to input_state_vector_label5b, then add it to pane */ JLabel input_state_vector_label5b = new JLabel(" AU"); buildConstraints(input_state_vector_constraints,18,6,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label5b,input_state_vector_constraints); input_state_vector_label5b.setFont(font_f); pane.add(input_state_vector_label5b); /* Add constraints to input_state_vector_blank6, then add it to pane */ JLabel input_state_vector_blank6 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,7,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank6,input_state_vector_constraints); input_state_vector_blank6.setFont(font_f); pane.add(input_state_vector_blank6); /* Add constraints to input_state_vector_label6, then add it to pane */ JLabel input_state_vector_label6 = new JLabel("z"); buildConstraints(input_state_vector_constraints,1,7,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label6,input_state_vector_constraints); input_state_vector_label6.setFont(font_g); pane.add(input_state_vector_label6); /* Add constraints to input_state_vector_tf5, then add it to pane */ buildConstraints(input_state_vector_constraints,3,7,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf5,input_state_vector_constraints); input_state_vector_tf5.setFont(font_f); pane.add(input_state_vector_tf5); /* Add constraints to input_state_vector_label7a, then add it to pane */ JLabel input_state_vector_label7a = new JLabel(" AU"); buildConstraints(input_state_vector_constraints,9,7,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label7a,input_state_vector_constraints); input_state_vector_label7a.setFont(font_f); pane.add(input_state_vector_label7a); /* Add constraints to input_state_vector_blank102, then add it to pane */ JLabel input_state_vector_blank102 = new JLabel(" "); buildConstraints(input_state_vector_constraints,11,7,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank102,input_state_vector_constraints); input_state_vector_blank102.setFont(font_f); pane.add(input_state_vector_blank102); /* Add constraints to input_state_vector_tf6, then add it to pane */ buildConstraints(input_state_vector_constraints,12,7,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf6,input_state_vector_constraints); input_state_vector_tf6.setFont(font_f); pane.add(input_state_vector_tf6); /* Add constraints to input_state_vector_label7b, then add it to pane */ JLabel input_state_vector_label7b = new JLabel(" AU"); buildConstraints(input_state_vector_constraints,18,7,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label7b,input_state_vector_constraints); input_state_vector_label7b.setFont(font_f); pane.add(input_state_vector_label7b); /* Add constraints to input_state_vector_blank8, then add it to pane */ JLabel input_state_vector_blank8 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank8,input_state_vector_constraints); input_state_vector_blank8.setFont(font_f); pane.add(input_state_vector_blank8); /* Add constraints to input_state_vector_label8, then add it to pane */ JLabel input_state_vector_label8 = new JLabel("xdot"); buildConstraints(input_state_vector_constraints,1,8,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label8,input_state_vector_constraints); input_state_vector_label8.setFont(font_g); pane.add(input_state_vector_label8); /* Add constraints to input_state_vector_tf7, then add it to pane */ buildConstraints(input_state_vector_constraints,3,8,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf7,input_state_vector_constraints); input_state_vector_tf7.setFont(font_f); pane.add(input_state_vector_tf7); /* Add constraints to input_state_vector_label9a, then add it to pane */ JLabel input_state_vector_label9a = new JLabel(" AU/day"); buildConstraints(input_state_vector_constraints,9,8,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label9a,input_state_vector_constraints); input_state_vector_label9a.setFont(font_f); pane.add(input_state_vector_label9a); /* Add constraints to input_state_vector_blank103, then add it to pane */ JLabel input_state_vector_blank103 = new JLabel(" "); buildConstraints(input_state_vector_constraints,11,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank103,input_state_vector_constraints); input_state_vector_blank103.setFont(font_f); pane.add(input_state_vector_blank103); /* Add constraints to input_state_vector_tf8, then add it to pane */ buildConstraints(input_state_vector_constraints,12,8,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf8,input_state_vector_constraints); input_state_vector_tf8.setFont(font_f); pane.add(input_state_vector_tf8); /* Add constraints to input_state_vector_label9b, then add it to pane */ JLabel input_state_vector_label9b = new JLabel(" AU/day"); buildConstraints(input_state_vector_constraints,18,8,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label9b,input_state_vector_constraints); input_state_vector_label9b.setFont(font_f); pane.add(input_state_vector_label9b); /* Add constraints to input_state_vector_blank10, then add it to pane */ JLabel input_state_vector_blank10 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,9,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank10,input_state_vector_constraints); input_state_vector_blank10.setFont(font_f); pane.add(input_state_vector_blank10); /* Add constraints to input_state_vector_label10, then add it to pane */ JLabel input_state_vector_label10 = new JLabel("ydot"); buildConstraints(input_state_vector_constraints,1,9,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label10,input_state_vector_constraints); input_state_vector_label10.setFont(font_g); pane.add(input_state_vector_label10); /* Add constraints to input_state_vector_tf9, then add it to pane */ buildConstraints(input_state_vector_constraints,3,9,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf9,input_state_vector_constraints); input_state_vector_tf9.setFont(font_f); pane.add(input_state_vector_tf9); /* Add constraints to input_state_vector_label11a, then add it to pane */ JLabel input_state_vector_label11a = new JLabel(" AU/day"); buildConstraints(input_state_vector_constraints,9,9,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label11a,input_state_vector_constraints); input_state_vector_label11a.setFont(font_f); pane.add(input_state_vector_label11a); /* Add constraints to input_state_vector_blank104, then add it to pane */ JLabel input_state_vector_blank104 = new JLabel(" "); buildConstraints(input_state_vector_constraints,11,9,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank104,input_state_vector_constraints); input_state_vector_blank104.setFont(font_f); pane.add(input_state_vector_blank104); /* Add constraints to input_state_vector_tf10, then add it to pane */ buildConstraints(input_state_vector_constraints,12,9,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf10,input_state_vector_constraints); input_state_vector_tf10.setFont(font_f); pane.add(input_state_vector_tf10); /* Add constraints to input_state_vector_label11, then add it to pane */ JLabel input_state_vector_label11 = new JLabel(" AU/day"); buildConstraints(input_state_vector_constraints,18,9,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label11,input_state_vector_constraints); input_state_vector_label11.setFont(font_f); pane.add(input_state_vector_label11); /* Add constraints to input_state_vector_blank12, then add it to pane */ JLabel input_state_vector_blank12 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank12,input_state_vector_constraints); input_state_vector_blank12.setFont(font_f); pane.add(input_state_vector_blank12); /* Add constraints to input_state_vector_label12, then add it to pane */ JLabel input_state_vector_label12 = new JLabel("zdot"); buildConstraints(input_state_vector_constraints,1,10,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label12,input_state_vector_constraints); input_state_vector_label12.setFont(font_g); pane.add(input_state_vector_label12); /* Add constraints to input_state_vector_tf11, then add it to pane */ buildConstraints(input_state_vector_constraints,3,10,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf11,input_state_vector_constraints); input_state_vector_tf11.setFont(font_f); pane.add(input_state_vector_tf11); /* Add constraints to input_state_vector_label13a, then add it to pane */ JLabel input_state_vector_label13a = new JLabel(" AU/day"); buildConstraints(input_state_vector_constraints,9,10,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label13a,input_state_vector_constraints); input_state_vector_label13a.setFont(font_f); pane.add(input_state_vector_label13a); /* Add constraints to input_state_vector_blank105, then add it to pane */ JLabel input_state_vector_blank105 = new JLabel(" "); buildConstraints(input_state_vector_constraints,11,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank105,input_state_vector_constraints); input_state_vector_blank105.setFont(font_f); pane.add(input_state_vector_blank105); /* Add constraints to input_state_vector_tf12, then add it to pane */ buildConstraints(input_state_vector_constraints,12,10,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf12,input_state_vector_constraints); input_state_vector_tf12.setFont(font_f); pane.add(input_state_vector_tf12); /* Add constraints to input_state_vector_label13b, then add it to pane */ JLabel input_state_vector_label13b = new JLabel(" AU/day"); buildConstraints(input_state_vector_constraints,18,10,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label13b,input_state_vector_constraints); input_state_vector_label13b.setFont(font_f); pane.add(input_state_vector_label13b); /* Add constraints to input_state_vector_blank14, then add it to pane */ JLabel input_state_vector_blank14 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,11,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank14,input_state_vector_constraints); input_state_vector_blank14.setFont(font_f); pane.add(input_state_vector_blank14); /* Add constraints to input_state_vector_label14, then add it to pane */ JLabel input_state_vector_label14 = new JLabel("(Optional Non-Gravitational Thrust Parameters)"); buildConstraints(input_state_vector_constraints,0,12,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_label14,input_state_vector_constraints); input_state_vector_label14.setFont(font_g); pane.add(input_state_vector_label14); /* Add constraints to input_state_vector_blank14a, then add it to pane */ JLabel input_state_vector_blank14a = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,13,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank14a,input_state_vector_constraints); input_state_vector_blank14a.setFont(font_f); pane.add(input_state_vector_blank14a); /* Add constraints to input_state_vector_blank16, then add it to pane */ JLabel input_state_vector_blank16 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,14,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank16,input_state_vector_constraints); input_state_vector_blank16.setFont(font_f); pane.add(input_state_vector_blank16); /* Add constraints to input_state_vector_label15, then add it to pane */ JLabel input_state_vector_label15 = new JLabel("A1"); buildConstraints(input_state_vector_constraints,1,14,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label15,input_state_vector_constraints); input_state_vector_label15.setFont(font_g); pane.add(input_state_vector_label15); /* Add constraints to input_state_vector_tf13, then add it to pane */ buildConstraints(input_state_vector_constraints,3,14,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf13,input_state_vector_constraints); input_state_vector_tf13.setFont(font_f); pane.add(input_state_vector_tf13); /* Add constraints to input_state_vector_label15a, then add it to pane */ JLabel input_state_vector_label15a = new JLabel(" x 10^(-9) AU/(day)^2"); buildConstraints(input_state_vector_constraints,9,14,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label15a,input_state_vector_constraints); input_state_vector_label15a.setFont(font_i); pane.add(input_state_vector_label15a); /* Add constraints to input_state_vector_blank17, then add it to pane */ JLabel input_state_vector_blank17 = new JLabel(" "); buildConstraints(input_state_vector_constraints,11,14,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank17,input_state_vector_constraints); input_state_vector_blank17.setFont(font_f); pane.add(input_state_vector_blank17); /* Add constraints to input_state_vector_tf14, then add it to pane */ buildConstraints(input_state_vector_constraints,12,14,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf14,input_state_vector_constraints); input_state_vector_tf14.setFont(font_f); pane.add(input_state_vector_tf14); /* Add constraints to input_state_vector_label16, then add it to pane */ JLabel input_state_vector_label16 = new JLabel(" x 10^(-9) AU/(day)^2"); buildConstraints(input_state_vector_constraints,18,14,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label16,input_state_vector_constraints); input_state_vector_label16.setFont(font_i); pane.add(input_state_vector_label16); /* Add constraints to input_state_vector_blank18, then add it to pane */ JLabel input_state_vector_blank18 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,15,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank18,input_state_vector_constraints); input_state_vector_blank18.setFont(font_f); pane.add(input_state_vector_blank18); /* Add constraints to input_state_vector_label17, then add it to pane */ JLabel input_state_vector_label17 = new JLabel("A2"); buildConstraints(input_state_vector_constraints,1,15,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label17,input_state_vector_constraints); input_state_vector_label17.setFont(font_g); pane.add(input_state_vector_label17); /* Add constraints to input_state_vector_tf15, then add it to pane */ buildConstraints(input_state_vector_constraints,3,15,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf15,input_state_vector_constraints); input_state_vector_tf15.setFont(font_f); pane.add(input_state_vector_tf15); /* Add constraints to input_state_vector_label18a, then add it to pane */ JLabel input_state_vector_label18a = new JLabel(" x 10^(-9) AU/(day)^2"); buildConstraints(input_state_vector_constraints,9,15,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label18a,input_state_vector_constraints); input_state_vector_label18a.setFont(font_i); pane.add(input_state_vector_label18a); /* Add constraints to input_state_vector_blank19, then add it to pane */ JLabel input_state_vector_blank19 = new JLabel(" "); buildConstraints(input_state_vector_constraints,11,15,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank19,input_state_vector_constraints); input_state_vector_blank19.setFont(font_f); pane.add(input_state_vector_blank19); /* Add constraints to input_state_vector_tf16, then add it to pane */ buildConstraints(input_state_vector_constraints,12,15,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf16,input_state_vector_constraints); input_state_vector_tf16.setFont(font_f); pane.add(input_state_vector_tf16); /* Add constraints to input_state_vector_label18, then add it to pane */ JLabel input_state_vector_label18 = new JLabel(" x 10^(-9) AU/(day)^2"); buildConstraints(input_state_vector_constraints,18,15,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label18,input_state_vector_constraints); input_state_vector_label18.setFont(font_i); pane.add(input_state_vector_label18); /* Add constraints to input_state_vector_blank21, then add it to pane */ JLabel input_state_vector_blank21 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,16,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank21,input_state_vector_constraints); input_state_vector_blank21.setFont(font_f); pane.add(input_state_vector_blank21); /* Add constraints to input_state_vector_label19, then add it to pane */ JLabel input_state_vector_label19 = new JLabel("DT"); buildConstraints(input_state_vector_constraints,1,16,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label19,input_state_vector_constraints); input_state_vector_label19.setFont(font_g); pane.add(input_state_vector_label19); /* Add constraints to input_state_vector_tf17, then add it to pane */ buildConstraints(input_state_vector_constraints,3,16,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_tf17,input_state_vector_constraints); input_state_vector_tf17.setFont(font_f); pane.add(input_state_vector_tf17); /* Add constraints to input_state_vector_label19a, then add it to pane */ JLabel input_state_vector_label19a = new JLabel(" days"); buildConstraints(input_state_vector_constraints,9,16,11,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_label19a,input_state_vector_constraints); input_state_vector_label19a.setFont(font_f); pane.add(input_state_vector_label19a); /* Add constraints to input_state_vector_blank23, then add it to pane */ JLabel input_state_vector_blank23 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,17,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank23,input_state_vector_constraints); input_state_vector_blank23.setFont(font_f); pane.add(input_state_vector_blank23); /* Add constraints to input_state_vector_blank24, then add it to pane */ JLabel input_state_vector_blank24 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,18,10,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank24,input_state_vector_constraints); input_state_vector_blank24.setFont(font_f); pane.add(input_state_vector_blank24); /* Add constraints to input_state_vector_b1, add a listener, then add it to pane */ buildConstraints(input_state_vector_constraints,10,18,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_b1,input_state_vector_constraints); input_state_vector_b1.addActionListener(this); input_state_vector_b1.setFont(font_f); pane.add(input_state_vector_b1); /* Add constraints to input_state_vector_blank25, then add it to pane */ JLabel input_state_vector_blank25 = new JLabel(" "); buildConstraints(input_state_vector_constraints,12,18,8,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank25,input_state_vector_constraints); input_state_vector_blank25.setFont(font_f); pane.add(input_state_vector_blank25); /* Add constraints to input_state_vector_blank26, then add it to pane */ JLabel input_state_vector_blank26 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,19,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank26,input_state_vector_constraints); input_state_vector_blank26.setFont(font_f); pane.add(input_state_vector_blank26); /* Add constraints to input_state_vector_blank27, then add it to pane */ JLabel input_state_vector_blank27 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,20,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank27,input_state_vector_constraints); input_state_vector_blank27.setFont(font_f); pane.add(input_state_vector_blank27); /* Add constraints to input_state_vector_label21, then add it to pane */ JLabel input_state_vector_label21 = new JLabel("Cancel - Return to Level Two Menu "); buildConstraints(input_state_vector_constraints,0,21,13,1,65,8,GridBagConstraints.NONE,GridBagConstraints.EAST); input_state_vector_layout.setConstraints(input_state_vector_label21,input_state_vector_constraints); input_state_vector_label21.setFont(font_f); pane.add(input_state_vector_label21); /* Add constraints to input_state_vector_b2, add a listener, then add it to pane */ buildConstraints(input_state_vector_constraints,13,21,7,1,35,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_state_vector_layout.setConstraints(input_state_vector_b2,input_state_vector_constraints); input_state_vector_b2.addActionListener(this); input_state_vector_b2.setFont(font_f); pane.add(input_state_vector_b2); /* Add constraints to input_state_vector_blank28, then add it to pane */ JLabel input_state_vector_blank28 = new JLabel(" "); buildConstraints(input_state_vector_constraints,0,22,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_state_vector_layout.setConstraints(input_state_vector_blank28,input_state_vector_constraints); input_state_vector_blank28.setFont(font_f); pane.add(input_state_vector_blank28); setContentPane(pane); repaint(); } void input_orbital_elements() { /* This method allows the user to input the orbital elements and non-gravitational thrust parameters of a minor planet. It reuses the existing pane, which must be cleared and retitled. */ int i = 0; pane.removeAll(); setTitle("minor planet " + mp.current_minor_planet); /* Initialize the text fields */ input_orbital_elements_tf0.setText(Double.toString(mp.epoch_time)); if ((classical_elements[2] != 1.0) && (!mp.comet_identifier)) { input_orbital_elements_tf1.setText(Double.toString(classical_elements[1])); input_orbital_elements_tf2.setText(Double.toString(classical_elements_uncertainty[1])); } else if ((classical_elements[2] == 1.0) || (mp.comet_identifier)) { input_orbital_elements_tf1.setText(Double.toString(classical_elements[8])); input_orbital_elements_tf2.setText(Double.toString(classical_elements_uncertainty[8])); } input_orbital_elements_tf3.setText(Double.toString(classical_elements[2])); input_orbital_elements_tf4.setText(Double.toString(classical_elements_uncertainty[2])); input_orbital_elements_tf5.setText(Double.toString(classical_elements[3]*180.0/Math.PI)); input_orbital_elements_tf6.setText(Double.toString(classical_elements_uncertainty[3]*180.0/Math.PI)); input_orbital_elements_tf7.setText(Double.toString(classical_elements[4]*180.0/Math.PI)); input_orbital_elements_tf8.setText(Double.toString(classical_elements_uncertainty[4]*180.0/Math.PI)); input_orbital_elements_tf9.setText(Double.toString(classical_elements[5]*180.0/Math.PI)); input_orbital_elements_tf10.setText(Double.toString(classical_elements_uncertainty[5]*180.0/Math.PI)); if ((classical_elements[2] != 1.0) && (!mp.comet_identifier)) { input_orbital_elements_tf11.setText(Double.toString(classical_elements[7]*180.0/Math.PI)); input_orbital_elements_tf12.setText(Double.toString(classical_elements_uncertainty[7]*180.0/Math.PI)); } else if ((classical_elements[2] == 1.0) || (mp.comet_identifier)) { input_orbital_elements_tf11.setText(Double.toString(classical_elements[6])); input_orbital_elements_tf12.setText(Double.toString(classical_elements_uncertainty[6])); } input_orbital_elements_tf13.setText(Double.toString(mp.A1_A2_DT[1]*1.0E+09)); input_orbital_elements_tf14.setText(Double.toString(Math.sqrt(mp.big_p[7][7])*1.0E+09)); input_orbital_elements_tf15.setText(Double.toString(mp.A1_A2_DT[2]*1.0E+09)); input_orbital_elements_tf16.setText(Double.toString(Math.sqrt(mp.big_p[8][8])*1.0E+09)); input_orbital_elements_tf17.setText(Double.toString(mp.A1_A2_DT[3])); /* Define a layout manager for the pane */ GridBagLayout input_orbital_elements_layout = new GridBagLayout(); GridBagConstraints input_orbital_elements_constraints = new GridBagConstraints(); pane.setLayout(input_orbital_elements_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); Font font_g = new Font("monospaced",Font.BOLD,12); Font font_h = new Font("monospaced",Font.BOLD,14); Font font_i = new Font("monospaced",Font.PLAIN,10); /* Add constraints to input_orbital_elements_label1, then add it to pane */ JLabel input_orbital_elements_label1 = new JLabel("Input the Heliocentric Ecliptical Orbital Elements"); buildConstraints(input_orbital_elements_constraints,0,0,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_label1,input_orbital_elements_constraints); input_orbital_elements_label1.setFont(font_h); pane.add(input_orbital_elements_label1); /* Add constraints to input_orbital_elements_blank00, then add it to pane */ JLabel input_orbital_elements_blank00 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,1,7,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank00,input_orbital_elements_constraints); input_orbital_elements_blank00.setFont(font_f); pane.add(input_orbital_elements_blank00); /* Add constraints to input_orbital_elements_label1a, then add it to pane */ JLabel input_orbital_elements_label1a = new JLabel("for TDB Epoch "); buildConstraints(input_orbital_elements_constraints,7,1,4,1,5,8,GridBagConstraints.NONE,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label1a,input_orbital_elements_constraints); input_orbital_elements_label1a.setFont(font_h); pane.add(input_orbital_elements_label1a); /* Add constraints to input_orbital_elements_tf0, then add it to pane */ buildConstraints(input_orbital_elements_constraints,11,1,6,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf0,input_orbital_elements_constraints); input_orbital_elements_tf0.setFont(font_f); pane.add(input_orbital_elements_tf0); /* Add constraints to input_orbital_elements_blank0, then add it to pane */ JLabel input_orbital_elements_blank0 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,17,1,3,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank0,input_orbital_elements_constraints); input_orbital_elements_blank0.setFont(font_f); pane.add(input_orbital_elements_blank0); /* Add constraints to input_orbital_elements_label1b, then add it to pane */ JLabel input_orbital_elements_label1b = new JLabel("Note: Reference Frame is ICRF/J2000"); buildConstraints(input_orbital_elements_constraints,0,2,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_label1b,input_orbital_elements_constraints); input_orbital_elements_label1b.setFont(font_f); pane.add(input_orbital_elements_label1b); /* Add constraints to input_orbital_elements_blank0a, then add it to pane */ JLabel input_orbital_elements_blank0a = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,3,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank0a,input_orbital_elements_constraints); input_orbital_elements_blank0a.setFont(font_f); pane.add(input_orbital_elements_blank0a); /* Add constraints to input_orbital_elements_label1c, then add it to pane */ JLabel input_orbital_elements_label1c = new JLabel("element"); buildConstraints(input_orbital_elements_constraints,4,4,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_label1c,input_orbital_elements_constraints); input_orbital_elements_label1c.setFont(font_f); pane.add(input_orbital_elements_label1c); /* Add constraints to input_orbital_elements_label1d, then add it to pane */ JLabel input_orbital_elements_label1d = new JLabel("covariance"); buildConstraints(input_orbital_elements_constraints,13,4,3,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_label1d,input_orbital_elements_constraints); input_orbital_elements_label1d.setFont(font_f); pane.add(input_orbital_elements_label1d); /* Add constraints to input_orbital_elements_blank2, then add it to pane */ JLabel input_orbital_elements_blank2 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,5,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank2,input_orbital_elements_constraints); input_orbital_elements_blank2.setFont(font_f); pane.add(input_orbital_elements_blank2); if ((classical_elements[2] != 1.0) && (!mp.comet_identifier)) { /* Add constraints to input_orbital_elements_label2, then add it to pane */ JLabel input_orbital_elements_label2 = new JLabel("a"); buildConstraints(input_orbital_elements_constraints,1,5,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label2,input_orbital_elements_constraints); input_orbital_elements_label2.setFont(font_g); pane.add(input_orbital_elements_label2); } else if ((classical_elements[2] == 1.0) || (mp.comet_identifier)) { /* Add constraints to input_orbital_elements_label2aa, then add it to pane */ JLabel input_orbital_elements_label2aa = new JLabel("q"); buildConstraints(input_orbital_elements_constraints,1,5,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label2aa,input_orbital_elements_constraints); input_orbital_elements_label2aa.setFont(font_g); pane.add(input_orbital_elements_label2aa); } /* Add constraints to input_orbital_elements_tf1, then add it to pane */ buildConstraints(input_orbital_elements_constraints,3,5,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf1,input_orbital_elements_constraints); input_orbital_elements_tf1.setFont(font_f); pane.add(input_orbital_elements_tf1); /* Add constraints to input_orbital_elements_label2a, then add it to pane */ JLabel input_orbital_elements_label2a = new JLabel(" AU"); buildConstraints(input_orbital_elements_constraints,9,5,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label2a,input_orbital_elements_constraints); input_orbital_elements_label2a.setFont(font_f); pane.add(input_orbital_elements_label2a); /* Add constraints to input_orbital_elements_blank100, then add it to pane */ JLabel input_orbital_elements_blank100 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,11,5,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank100,input_orbital_elements_constraints); input_orbital_elements_blank100.setFont(font_f); pane.add(input_orbital_elements_blank100); /* Add constraints to input_orbital_elements_tf2, then add it to pane */ buildConstraints(input_orbital_elements_constraints,12,5,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf2,input_orbital_elements_constraints); input_orbital_elements_tf2.setFont(font_f); pane.add(input_orbital_elements_tf2); /* Add constraints to input_orbital_elements_label3, then add it to pane */ JLabel input_orbital_elements_label3 = new JLabel(" AU"); buildConstraints(input_orbital_elements_constraints,18,5,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label3,input_orbital_elements_constraints); input_orbital_elements_label3.setFont(font_f); pane.add(input_orbital_elements_label3); /* Add constraints to input_orbital_elements_blank4, then add it to pane */ JLabel input_orbital_elements_blank4 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank4,input_orbital_elements_constraints); input_orbital_elements_blank4.setFont(font_f); pane.add(input_orbital_elements_blank4); /* Add constraints to input_orbital_elements_label4, then add it to pane */ JLabel input_orbital_elements_label4 = new JLabel("e"); buildConstraints(input_orbital_elements_constraints,1,6,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label4,input_orbital_elements_constraints); input_orbital_elements_label4.setFont(font_g); pane.add(input_orbital_elements_label4); /* Add constraints to input_orbital_elements_tf3, then add it to pane */ buildConstraints(input_orbital_elements_constraints,3,6,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf3,input_orbital_elements_constraints); input_orbital_elements_tf3.setFont(font_f); pane.add(input_orbital_elements_tf3); /* Add constraints to input_orbital_elements_label5a, then add it to pane */ JLabel input_orbital_elements_label5a = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,9,6,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label5a,input_orbital_elements_constraints); input_orbital_elements_label5a.setFont(font_f); pane.add(input_orbital_elements_label5a); /* Add constraints to input_orbital_elements_blank101, then add it to pane */ JLabel input_orbital_elements_blank101 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,11,6,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank101,input_orbital_elements_constraints); input_orbital_elements_blank101.setFont(font_f); pane.add(input_orbital_elements_blank101); /* Add constraints to input_orbital_elements_tf4, then add it to pane */ buildConstraints(input_orbital_elements_constraints,12,6,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf4,input_orbital_elements_constraints); input_orbital_elements_tf4.setFont(font_f); pane.add(input_orbital_elements_tf4); /* Add constraints to input_orbital_elements_label5b, then add it to pane */ JLabel input_orbital_elements_label5b = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,18,6,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label5b,input_orbital_elements_constraints); input_orbital_elements_label5b.setFont(font_f); pane.add(input_orbital_elements_label5b); /* Add constraints to input_orbital_elements_blank6, then add it to pane */ JLabel input_orbital_elements_blank6 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,7,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank6,input_orbital_elements_constraints); input_orbital_elements_blank6.setFont(font_f); pane.add(input_orbital_elements_blank6); /* Add constraints to input_orbital_elements_label6, then add it to pane */ JLabel input_orbital_elements_label6 = new JLabel("i"); buildConstraints(input_orbital_elements_constraints,1,7,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label6,input_orbital_elements_constraints); input_orbital_elements_label6.setFont(font_g); pane.add(input_orbital_elements_label6); /* Add constraints to input_orbital_elements_tf5, then add it to pane */ buildConstraints(input_orbital_elements_constraints,3,7,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf5,input_orbital_elements_constraints); input_orbital_elements_tf5.setFont(font_f); pane.add(input_orbital_elements_tf5); /* Add constraints to input_orbital_elements_label7a, then add it to pane */ JLabel input_orbital_elements_label7a = new JLabel(" deg"); buildConstraints(input_orbital_elements_constraints,9,7,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label7a,input_orbital_elements_constraints); input_orbital_elements_label7a.setFont(font_f); pane.add(input_orbital_elements_label7a); /* Add constraints to input_orbital_elements_blank102, then add it to pane */ JLabel input_orbital_elements_blank102 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,11,7,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank102,input_orbital_elements_constraints); input_orbital_elements_blank102.setFont(font_f); pane.add(input_orbital_elements_blank102); /* Add constraints to input_orbital_elements_tf6, then add it to pane */ buildConstraints(input_orbital_elements_constraints,12,7,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf6,input_orbital_elements_constraints); input_orbital_elements_tf6.setFont(font_f); pane.add(input_orbital_elements_tf6); /* Add constraints to input_orbital_elements_label7b, then add it to pane */ JLabel input_orbital_elements_label7b = new JLabel(" deg"); buildConstraints(input_orbital_elements_constraints,18,7,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label7b,input_orbital_elements_constraints); input_orbital_elements_label7b.setFont(font_f); pane.add(input_orbital_elements_label7b); /* Add constraints to input_orbital_elements_blank8, then add it to pane */ JLabel input_orbital_elements_blank8 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank8,input_orbital_elements_constraints); input_orbital_elements_blank8.setFont(font_f); pane.add(input_orbital_elements_blank8); /* Add constraints to input_orbital_elements_label8, then add it to pane */ JLabel input_orbital_elements_label8 = new JLabel("w"); buildConstraints(input_orbital_elements_constraints,1,8,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label8,input_orbital_elements_constraints); input_orbital_elements_label8.setFont(font_g); pane.add(input_orbital_elements_label8); /* Add constraints to input_orbital_elements_tf7, then add it to pane */ buildConstraints(input_orbital_elements_constraints,3,8,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf7,input_orbital_elements_constraints); input_orbital_elements_tf7.setFont(font_f); pane.add(input_orbital_elements_tf7); /* Add constraints to input_orbital_elements_label9a, then add it to pane */ JLabel input_orbital_elements_label9a = new JLabel(" deg"); buildConstraints(input_orbital_elements_constraints,9,8,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label9a,input_orbital_elements_constraints); input_orbital_elements_label9a.setFont(font_f); pane.add(input_orbital_elements_label9a); /* Add constraints to input_orbital_elements_blank103, then add it to pane */ JLabel input_orbital_elements_blank103 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,11,8,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank103,input_orbital_elements_constraints); input_orbital_elements_blank103.setFont(font_f); pane.add(input_orbital_elements_blank103); /* Add constraints to input_orbital_elements_tf8, then add it to pane */ buildConstraints(input_orbital_elements_constraints,12,8,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf8,input_orbital_elements_constraints); input_orbital_elements_tf8.setFont(font_f); pane.add(input_orbital_elements_tf8); /* Add constraints to input_orbital_elements_label9b, then add it to pane */ JLabel input_orbital_elements_label9b = new JLabel(" deg"); buildConstraints(input_orbital_elements_constraints,18,8,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label9b,input_orbital_elements_constraints); input_orbital_elements_label9b.setFont(font_f); pane.add(input_orbital_elements_label9b); /* Add constraints to input_orbital_elements_blank10, then add it to pane */ JLabel input_orbital_elements_blank10 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,9,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank10,input_orbital_elements_constraints); input_orbital_elements_blank10.setFont(font_f); pane.add(input_orbital_elements_blank10); /* Add constraints to input_orbital_elements_label10, then add it to pane */ JLabel input_orbital_elements_label10 = new JLabel("omega"); buildConstraints(input_orbital_elements_constraints,1,9,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label10,input_orbital_elements_constraints); input_orbital_elements_label10.setFont(font_g); pane.add(input_orbital_elements_label10); /* Add constraints to input_orbital_elements_tf9, then add it to pane */ buildConstraints(input_orbital_elements_constraints,3,9,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf9,input_orbital_elements_constraints); input_orbital_elements_tf9.setFont(font_f); pane.add(input_orbital_elements_tf9); /* Add constraints to input_orbital_elements_label11a, then add it to pane */ JLabel input_orbital_elements_label11a = new JLabel(" deg"); buildConstraints(input_orbital_elements_constraints,9,9,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label11a,input_orbital_elements_constraints); input_orbital_elements_label11a.setFont(font_f); pane.add(input_orbital_elements_label11a); /* Add constraints to input_orbital_elements_blank104, then add it to pane */ JLabel input_orbital_elements_blank104 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,11,9,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank104,input_orbital_elements_constraints); input_orbital_elements_blank104.setFont(font_f); pane.add(input_orbital_elements_blank104); /* Add constraints to input_orbital_elements_tf10, then add it to pane */ buildConstraints(input_orbital_elements_constraints,12,9,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf10,input_orbital_elements_constraints); input_orbital_elements_tf10.setFont(font_f); pane.add(input_orbital_elements_tf10); /* Add constraints to input_orbital_elements_label11, then add it to pane */ JLabel input_orbital_elements_label11 = new JLabel(" deg"); buildConstraints(input_orbital_elements_constraints,18,9,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label11,input_orbital_elements_constraints); input_orbital_elements_label11.setFont(font_f); pane.add(input_orbital_elements_label11); /* Add constraints to input_orbital_elements_blank12, then add it to pane */ JLabel input_orbital_elements_blank12 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank12,input_orbital_elements_constraints); input_orbital_elements_blank12.setFont(font_f); pane.add(input_orbital_elements_blank12); if ((classical_elements[2] != 1.0) && (!mp.comet_identifier)) { /* Add constraints to input_orbital_elements_label12, then add it to pane */ JLabel input_orbital_elements_label12 = new JLabel("M"); buildConstraints(input_orbital_elements_constraints,1,10,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label12,input_orbital_elements_constraints); input_orbital_elements_label12.setFont(font_g); pane.add(input_orbital_elements_label12); } else if ((classical_elements[2] == 1.0) || (mp.comet_identifier)) { /* Add constraints to input_orbital_elements_label12aa, then add it to pane */ JLabel input_orbital_elements_label12aa = new JLabel("T"); buildConstraints(input_orbital_elements_constraints,1,10,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label12aa,input_orbital_elements_constraints); input_orbital_elements_label12aa.setFont(font_g); pane.add(input_orbital_elements_label12aa); } /* Add constraints to input_orbital_elements_tf11, then add it to pane */ buildConstraints(input_orbital_elements_constraints,3,10,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf11,input_orbital_elements_constraints); input_orbital_elements_tf11.setFont(font_f); pane.add(input_orbital_elements_tf11); if ((classical_elements[2] != 1.0) && (!mp.comet_identifier)) { /* Add constraints to input_orbital_elements_label13a, then add it to pane */ JLabel input_orbital_elements_label13a = new JLabel(" deg"); buildConstraints(input_orbital_elements_constraints,9,10,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label13a,input_orbital_elements_constraints); input_orbital_elements_label13a.setFont(font_i); pane.add(input_orbital_elements_label13a); } else if ((classical_elements[2] == 1.0) || (mp.comet_identifier)) { /* Add constraints to input_orbital_elements_label13aa, then add it to pane */ JLabel input_orbital_elements_label13aa = new JLabel(" day"); buildConstraints(input_orbital_elements_constraints,9,10,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label13aa,input_orbital_elements_constraints); input_orbital_elements_label13aa.setFont(font_i); pane.add(input_orbital_elements_label13aa); } /* Add constraints to input_orbital_elements_blank105, then add it to pane */ JLabel input_orbital_elements_blank105 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,11,10,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank105,input_orbital_elements_constraints); input_orbital_elements_blank105.setFont(font_f); pane.add(input_orbital_elements_blank105); /* Add constraints to input_orbital_elements_tf12, then add it to pane */ buildConstraints(input_orbital_elements_constraints,12,10,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf12,input_orbital_elements_constraints); input_orbital_elements_tf12.setFont(font_f); pane.add(input_orbital_elements_tf12); if ((classical_elements[2] != 1.0) && (!mp.comet_identifier)) { /* Add constraints to input_orbital_elements_label13b, then add it to pane */ JLabel input_orbital_elements_label13b = new JLabel(" deg"); buildConstraints(input_orbital_elements_constraints,18,10,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label13b,input_orbital_elements_constraints); input_orbital_elements_label13b.setFont(font_i); pane.add(input_orbital_elements_label13b); } else if ((classical_elements[2] == 1.0) || (mp.comet_identifier)) { /* Add constraints to input_orbital_elements_label13bb, then add it to pane */ JLabel input_orbital_elements_label13bb = new JLabel(" day"); buildConstraints(input_orbital_elements_constraints,18,10,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label13bb,input_orbital_elements_constraints); input_orbital_elements_label13bb.setFont(font_i); pane.add(input_orbital_elements_label13bb); } /* Add constraints to input_orbital_elements_blank14, then add it to pane */ JLabel input_orbital_elements_blank14 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,11,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank14,input_orbital_elements_constraints); input_orbital_elements_blank14.setFont(font_f); pane.add(input_orbital_elements_blank14); /* Add constraints to input_orbital_elements_label14, then add it to pane */ JLabel input_orbital_elements_label14 = new JLabel("(Optional Non-Gravitational Thrust Parameters)"); buildConstraints(input_orbital_elements_constraints,0,12,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_label14,input_orbital_elements_constraints); input_orbital_elements_label14.setFont(font_g); pane.add(input_orbital_elements_label14); /* Add constraints to input_orbital_elements_blank14a, then add it to pane */ JLabel input_orbital_elements_blank14a = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,13,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank14a,input_orbital_elements_constraints); input_orbital_elements_blank14a.setFont(font_f); pane.add(input_orbital_elements_blank14a); /* Add constraints to input_orbital_elements_blank16, then add it to pane */ JLabel input_orbital_elements_blank16 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,14,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank16,input_orbital_elements_constraints); input_orbital_elements_blank16.setFont(font_f); pane.add(input_orbital_elements_blank16); /* Add constraints to input_orbital_elements_label15, then add it to pane */ JLabel input_orbital_elements_label15 = new JLabel("A1"); buildConstraints(input_orbital_elements_constraints,1,14,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label15,input_orbital_elements_constraints); input_orbital_elements_label15.setFont(font_g); pane.add(input_orbital_elements_label15); /* Add constraints to input_orbital_elements_tf13, then add it to pane */ buildConstraints(input_orbital_elements_constraints,3,14,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf13,input_orbital_elements_constraints); input_orbital_elements_tf13.setFont(font_f); pane.add(input_orbital_elements_tf13); /* Add constraints to input_orbital_elements_label15a, then add it to pane */ JLabel input_orbital_elements_label15a = new JLabel(" x 10^(-9) AU/(day)^2"); buildConstraints(input_orbital_elements_constraints,9,14,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label15a,input_orbital_elements_constraints); input_orbital_elements_label15a.setFont(font_i); pane.add(input_orbital_elements_label15a); /* Add constraints to input_orbital_elements_blank17, then add it to pane */ JLabel input_orbital_elements_blank17 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,11,14,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank17,input_orbital_elements_constraints); input_orbital_elements_blank17.setFont(font_f); pane.add(input_orbital_elements_blank17); /* Add constraints to input_orbital_elements_tf14, then add it to pane */ buildConstraints(input_orbital_elements_constraints,12,14,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf14,input_orbital_elements_constraints); input_orbital_elements_tf14.setFont(font_f); pane.add(input_orbital_elements_tf14); /* Add constraints to input_orbital_elements_label16, then add it to pane */ JLabel input_orbital_elements_label16 = new JLabel(" x 10^(-9) AU/(day)^2"); buildConstraints(input_orbital_elements_constraints,18,14,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label16,input_orbital_elements_constraints); input_orbital_elements_label16.setFont(font_i); pane.add(input_orbital_elements_label16); /* Add constraints to input_orbital_elements_blank18, then add it to pane */ JLabel input_orbital_elements_blank18 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,15,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank18,input_orbital_elements_constraints); input_orbital_elements_blank18.setFont(font_f); pane.add(input_orbital_elements_blank18); /* Add constraints to input_orbital_elements_label17, then add it to pane */ JLabel input_orbital_elements_label17 = new JLabel("A2"); buildConstraints(input_orbital_elements_constraints,1,15,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label17,input_orbital_elements_constraints); input_orbital_elements_label17.setFont(font_g); pane.add(input_orbital_elements_label17); /* Add constraints to input_orbital_elements_tf15, then add it to pane */ buildConstraints(input_orbital_elements_constraints,3,15,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf15,input_orbital_elements_constraints); input_orbital_elements_tf15.setFont(font_f); pane.add(input_orbital_elements_tf15); /* Add constraints to input_orbital_elements_label18a, then add it to pane */ JLabel input_orbital_elements_label18a = new JLabel(" x 10^(-9) AU/(day)^2"); buildConstraints(input_orbital_elements_constraints,9,15,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label18a,input_orbital_elements_constraints); input_orbital_elements_label18a.setFont(font_i); pane.add(input_orbital_elements_label18a); /* Add constraints to input_orbital_elements_blank19, then add it to pane */ JLabel input_orbital_elements_blank19 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,11,15,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank19,input_orbital_elements_constraints); input_orbital_elements_blank19.setFont(font_f); pane.add(input_orbital_elements_blank19); /* Add constraints to input_orbital_elements_tf16, then add it to pane */ buildConstraints(input_orbital_elements_constraints,12,15,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf16,input_orbital_elements_constraints); input_orbital_elements_tf16.setFont(font_f); pane.add(input_orbital_elements_tf16); /* Add constraints to input_orbital_elements_label18, then add it to pane */ JLabel input_orbital_elements_label18 = new JLabel(" x 10^(-9) AU/(day)^2"); buildConstraints(input_orbital_elements_constraints,18,15,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label18,input_orbital_elements_constraints); input_orbital_elements_label18.setFont(font_i); pane.add(input_orbital_elements_label18); /* Add constraints to input_orbital_elements_blank21, then add it to pane */ JLabel input_orbital_elements_blank21 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,16,1,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank21,input_orbital_elements_constraints); input_orbital_elements_blank21.setFont(font_f); pane.add(input_orbital_elements_blank21); /* Add constraints to input_orbital_elements_label19, then add it to pane */ JLabel input_orbital_elements_label19 = new JLabel("DT"); buildConstraints(input_orbital_elements_constraints,1,16,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label19,input_orbital_elements_constraints); input_orbital_elements_label19.setFont(font_g); pane.add(input_orbital_elements_label19); /* Add constraints to input_orbital_elements_tf17, then add it to pane */ buildConstraints(input_orbital_elements_constraints,3,16,6,1,5,8,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_tf17,input_orbital_elements_constraints); input_orbital_elements_tf17.setFont(font_f); pane.add(input_orbital_elements_tf17); /* Add constraints to input_orbital_elements_label19a, then add it to pane */ JLabel input_orbital_elements_label19a = new JLabel(" days"); buildConstraints(input_orbital_elements_constraints,9,16,11,1,5,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label19a,input_orbital_elements_constraints); input_orbital_elements_label19a.setFont(font_f); pane.add(input_orbital_elements_label19a); /* Add constraints to input_orbital_elements_blank23, then add it to pane */ JLabel input_orbital_elements_blank23 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,17,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank23,input_orbital_elements_constraints); input_orbital_elements_blank23.setFont(font_f); pane.add(input_orbital_elements_blank23); /* Add constraints to input_orbital_elements_blank24, then add it to pane */ JLabel input_orbital_elements_blank24 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,18,10,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank24,input_orbital_elements_constraints); input_orbital_elements_blank24.setFont(font_f); pane.add(input_orbital_elements_blank24); /* Add constraints to input_orbital_elements_b1, add a listener, then add it to pane */ buildConstraints(input_orbital_elements_constraints,10,18,2,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_b1,input_orbital_elements_constraints); input_orbital_elements_b1.addActionListener(this); input_orbital_elements_b1.setFont(font_f); pane.add(input_orbital_elements_b1); /* Add constraints to input_orbital_elements_blank25, then add it to pane */ JLabel input_orbital_elements_blank25 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,12,18,8,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank25,input_orbital_elements_constraints); input_orbital_elements_blank25.setFont(font_f); pane.add(input_orbital_elements_blank25); /* Add constraints to input_orbital_elements_blank26, then add it to pane */ JLabel input_orbital_elements_blank26 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,19,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank26,input_orbital_elements_constraints); input_orbital_elements_blank26.setFont(font_f); pane.add(input_orbital_elements_blank26); /* Add constraints to input_orbital_elements_blank27, then add it to pane */ JLabel input_orbital_elements_blank27 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,20,10,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank27,input_orbital_elements_constraints); input_orbital_elements_blank27.setFont(font_f); pane.add(input_orbital_elements_blank27); /* Add constraints to input_orbital_elements_label21, then add it to pane */ JLabel input_orbital_elements_label21 = new JLabel("Cancel - Return to Level Two Menu "); buildConstraints(input_orbital_elements_constraints,0,21,13,1,65,8,GridBagConstraints.NONE,GridBagConstraints.EAST); input_orbital_elements_layout.setConstraints(input_orbital_elements_label21,input_orbital_elements_constraints); input_orbital_elements_label21.setFont(font_f); pane.add(input_orbital_elements_label21); /* Add constraints to input_orbital_elements_b2, add a listener, then add it to pane */ buildConstraints(input_orbital_elements_constraints,13,21,7,1,35,8,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbital_elements_layout.setConstraints(input_orbital_elements_b2,input_orbital_elements_constraints); input_orbital_elements_b2.addActionListener(this); input_orbital_elements_b2.setFont(font_f); pane.add(input_orbital_elements_b2); /* Add constraints to input_orbital_elements_blank28, then add it to pane */ JLabel input_orbital_elements_blank28 = new JLabel(" "); buildConstraints(input_orbital_elements_constraints,0,22,20,1,5,8,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbital_elements_layout.setConstraints(input_orbital_elements_blank28,input_orbital_elements_constraints); input_orbital_elements_blank28.setFont(font_f); pane.add(input_orbital_elements_blank28); setContentPane(pane); repaint(); } void input_orbit() { /* This method allows the user to select whether to specify the classical orbital elements, or the state vector. It reuses the existing pane, which must be cleared and retitled. */ int i = 0; pane.removeAll(); setTitle("minor planet " + mp.current_minor_planet); /* Define a layout manager for the pane */ GridBagLayout input_orbit_layout = new GridBagLayout(); GridBagConstraints input_orbit_constraints = new GridBagConstraints(); pane.setLayout(input_orbit_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); /* Add constraints to input_orbit_blank1, then add it to pane */ JLabel input_orbit_blank1 = new JLabel(" "); buildConstraints(input_orbit_constraints,0,0,2,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbit_layout.setConstraints(input_orbit_blank1,input_orbit_constraints); input_orbit_blank1.setFont(font_f); pane.add(input_orbit_blank1); /* Add constraints to input_orbit_blank2, then add it to pane */ JLabel input_orbit_blank2 = new JLabel(" "); buildConstraints(input_orbit_constraints,0,1,2,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbit_layout.setConstraints(input_orbit_blank2,input_orbit_constraints); input_orbit_blank2.setFont(font_f); pane.add(input_orbit_blank2); /* Add constraints to input_orbit_blank3, then add it to pane */ JLabel input_orbit_blank3 = new JLabel(" "); buildConstraints(input_orbit_constraints,0,2,2,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbit_layout.setConstraints(input_orbit_blank3,input_orbit_constraints); input_orbit_blank3.setFont(font_f); pane.add(input_orbit_blank3); /* Add constraints to input_orbit_b1, add a listener, then add it to pane */ buildConstraints(input_orbit_constraints,0,3,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.EAST); input_orbit_layout.setConstraints(input_orbit_b1,input_orbit_constraints); input_orbit_b1.addActionListener(this); input_orbit_b1.setFont(font_f); pane.add(input_orbit_b1); /* Add constraints to input_orbit_response2, then add it to pane */ JLabel input_orbit_response2 = new JLabel((" Enter the classical orbital elements")); buildConstraints(input_orbit_constraints,1,3,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbit_layout.setConstraints(input_orbit_response2,input_orbit_constraints); input_orbit_response2.setFont(font_f); pane.add(input_orbit_response2); /* Add constraints to input_orbit_blank4, then add it to pane */ JLabel input_orbit_blank4 = new JLabel(" "); buildConstraints(input_orbit_constraints,0,4,2,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbit_layout.setConstraints(input_orbit_blank4,input_orbit_constraints); input_orbit_blank4.setFont(font_f); pane.add(input_orbit_blank4); /* Add constraints to input_orbit_b2, add a listener, then add it to pane */ buildConstraints(input_orbit_constraints,0,5,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.EAST); input_orbit_layout.setConstraints(input_orbit_b2,input_orbit_constraints); input_orbit_b2.addActionListener(this); input_orbit_b2.setFont(font_f); pane.add(input_orbit_b2); /* Add constraints to input_orbit_response3, then add it to pane */ JLabel input_orbit_response3 = new JLabel((" Enter the state vector")); buildConstraints(input_orbit_constraints,1,5,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbit_layout.setConstraints(input_orbit_response3,input_orbit_constraints); input_orbit_response3.setFont(font_f); pane.add(input_orbit_response3); /* Add constraints to input_orbit_blank5, then add it to pane */ JLabel input_orbit_blank5 = new JLabel(" "); buildConstraints(input_orbit_constraints,0,6,2,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbit_layout.setConstraints(input_orbit_blank5,input_orbit_constraints); input_orbit_blank5.setFont(font_f); pane.add(input_orbit_blank5); /* Add constraints to input_orbit_blank6, then add it to pane */ JLabel input_orbit_blank6 = new JLabel(" "); buildConstraints(input_orbit_constraints,0,7,2,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbit_layout.setConstraints(input_orbit_blank6,input_orbit_constraints); input_orbit_blank6.setFont(font_f); pane.add(input_orbit_blank6); /* Add constraints to input_orbit_b3, add a listener, then add it to pane */ buildConstraints(input_orbit_constraints,0,8,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.EAST); input_orbit_layout.setConstraints(input_orbit_b3,input_orbit_constraints); input_orbit_b3.addActionListener(this); input_orbit_b3.setFont(font_f); pane.add(input_orbit_b3); /* Add constraints to input_orbit_response4, then add it to pane */ JLabel input_orbit_response4 = new JLabel((" Cancel - Return to Level Two Menu")); buildConstraints(input_orbit_constraints,1,8,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.WEST); input_orbit_layout.setConstraints(input_orbit_response4,input_orbit_constraints); input_orbit_response4.setFont(font_f); pane.add(input_orbit_response4); /* Add constraints to input_orbit_blank9, then add it to pane */ JLabel input_orbit_blank9 = new JLabel(" "); buildConstraints(input_orbit_constraints,0,9,2,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); input_orbit_layout.setConstraints(input_orbit_blank9,input_orbit_constraints); input_orbit_blank9.setFont(font_f); pane.add(input_orbit_blank9); setContentPane(pane); repaint(); } void process_input_state_vector() { /* Method to take the user-specified state vector, assign it to the appropriate MinorPlanet variables, and save the data file. */ int i = 0, j = 0; /* Initialize the covariance matrix */ for (i=0;i<=8;i++) { for (j=0;j<=8;j++) mp.big_p[i][j] = 0; } mp.epoch_time = Double.valueOf(input_state_vector_tf0.getText()).doubleValue(); /* Reset any divergence flag */ mp.epoch_r[0] = 0.0; mp.epoch_r[1] = Double.valueOf(input_state_vector_tf1.getText()).doubleValue(); mp.big_p[1][1] = Math.pow(Double.valueOf(input_state_vector_tf2.getText()).doubleValue(),2); mp.epoch_r[2] = Double.valueOf(input_state_vector_tf3.getText()).doubleValue(); mp.big_p[2][2] = Math.pow(Double.valueOf(input_state_vector_tf4.getText()).doubleValue(),2); mp.epoch_r[3] = Double.valueOf(input_state_vector_tf5.getText()).doubleValue(); mp.big_p[3][3] = Math.pow(Double.valueOf(input_state_vector_tf6.getText()).doubleValue(),2); mp.epoch_rprime[1] = Double.valueOf(input_state_vector_tf7.getText()).doubleValue(); mp.big_p[4][4] = Math.pow(Double.valueOf(input_state_vector_tf8.getText()).doubleValue(),2); mp.epoch_rprime[2] = Double.valueOf(input_state_vector_tf9.getText()).doubleValue(); mp.big_p[5][5] = Math.pow(Double.valueOf(input_state_vector_tf10.getText()).doubleValue(),2); mp.epoch_rprime[3] = Double.valueOf(input_state_vector_tf11.getText()).doubleValue(); mp.big_p[6][6] = Math.pow(Double.valueOf(input_state_vector_tf12.getText()).doubleValue(),2); mp.A1_A2_DT[1] = (Double.valueOf(input_state_vector_tf13.getText()).doubleValue())*1.0E-09; mp.big_p[7][7] = Math.pow((Double.valueOf(input_state_vector_tf14.getText()).doubleValue())*1.0E-09,2); mp.A1_A2_DT[2] = (Double.valueOf(input_state_vector_tf15.getText()).doubleValue())*1.0E-09; mp.big_p[8][8] = Math.pow((Double.valueOf(input_state_vector_tf16.getText()).doubleValue())*1.0E-09,2); mp.A1_A2_DT[3] = Double.valueOf(input_state_vector_tf17.getText()).doubleValue(); /* Save the data file for this minor planet */ mp.write_data_to_disk(mp.current_minor_planet); } void process_input_orbital_elements() { /* Method to convert the user-specified classical elements and uncertainties into a MinorPlanet state vector plus covariances. Note that this could be written as a MinorPlanet method. However, the choice of which classical elements to use is strictly an implementation decision; thus, I felt it was better to write this as a GUI method. */ double mean_motion = 0; double delta = 0; double[] r = new double[4]; double[] rprime = new double[4]; double[][] partial_matrix = new double[7][9]; double[][] inter = new double[9][7]; double[][] classical_elements_covariance = new double[9][9]; int i = 0, j = 0, k = 0; /* Initialize the covariance matrices */ for (i=1;i<=8;i++) { classical_elements_uncertainty[i] = 0.0; for (j=1;j<=8;j++) { mp.big_p[i][j] = 0.0; classical_elements_covariance[i][j] = 0.0; } } /* Read the input classical elements and uncertainties */ mp.epoch_time = Double.valueOf(input_orbital_elements_tf0.getText()).doubleValue(); classical_elements[2] = Double.valueOf(input_orbital_elements_tf3.getText()).doubleValue(); classical_elements_uncertainty[2] = Double.valueOf(input_orbital_elements_tf4.getText()).doubleValue(); classical_elements_covariance[2][2] = Math.pow(Double.valueOf(input_orbital_elements_tf4.getText()).doubleValue(),2.0); if ((classical_elements[2] != 1.0) && (!mp.comet_identifier)) { classical_elements[1] = Double.valueOf(input_orbital_elements_tf1.getText()).doubleValue(); classical_elements_uncertainty[1] = Double.valueOf(input_orbital_elements_tf2.getText()).doubleValue(); classical_elements_covariance[1][1] = Math.pow(Double.valueOf(input_orbital_elements_tf2.getText()).doubleValue(),2.0); } else if ((classical_elements[2] == 1.0) || (mp.comet_identifier)) { classical_elements[8] = Double.valueOf(input_orbital_elements_tf1.getText()).doubleValue(); classical_elements_uncertainty[8] = Double.valueOf(input_orbital_elements_tf2.getText()).doubleValue(); classical_elements_covariance[8][8] = Math.pow(Double.valueOf(input_orbital_elements_tf2.getText()).doubleValue(),2.0); } classical_elements[3] = (Double.valueOf(input_orbital_elements_tf5.getText()).doubleValue())*Math.PI/180.0; classical_elements_uncertainty[3] = (Double.valueOf(input_orbital_elements_tf6.getText()).doubleValue())*Math.PI/180.0; classical_elements_covariance[3][3] = Math.pow((Double.valueOf(input_orbital_elements_tf6.getText()).doubleValue())*Math.PI/180.0,2.0); classical_elements[4] = (Double.valueOf(input_orbital_elements_tf7.getText()).doubleValue())*Math.PI/180.0; classical_elements_uncertainty[4] = (Double.valueOf(input_orbital_elements_tf8.getText()).doubleValue())*Math.PI/180.0; classical_elements_covariance[4][4] = Math.pow((Double.valueOf(input_orbital_elements_tf8.getText()).doubleValue())*Math.PI/180.0,2.0); classical_elements[5] = (Double.valueOf(input_orbital_elements_tf9.getText()).doubleValue())*Math.PI/180.0; classical_elements_uncertainty[5] = (Double.valueOf(input_orbital_elements_tf10.getText()).doubleValue())*Math.PI/180.0; classical_elements_covariance[5][5] = Math.pow((Double.valueOf(input_orbital_elements_tf10.getText()).doubleValue())*Math.PI/180.0,2.0); if ((classical_elements[2] != 1.0) && (!mp.comet_identifier)) { classical_elements[7] = (Double.valueOf(input_orbital_elements_tf11.getText()).doubleValue())*Math.PI/180.0; classical_elements_uncertainty[7] = (Double.valueOf(input_orbital_elements_tf12.getText()).doubleValue())*Math.PI/180.0; classical_elements_covariance[7][7] = Math.pow((Double.valueOf(input_orbital_elements_tf12.getText()).doubleValue())*Math.PI/180.0,2.0); } else if ((classical_elements[2] == 1.0) || (mp.comet_identifier)) { classical_elements[6] = (Double.valueOf(input_orbital_elements_tf11.getText()).doubleValue()); classical_elements_uncertainty[6] = (Double.valueOf(input_orbital_elements_tf12.getText()).doubleValue()); classical_elements_covariance[6][6] = Math.pow((Double.valueOf(input_orbital_elements_tf12.getText()).doubleValue()),2.0); } mp.A1_A2_DT[1] = (Double.valueOf(input_orbital_elements_tf13.getText()).doubleValue())*1.0E-09; mp.big_p[7][7] = Math.pow((Double.valueOf(input_orbital_elements_tf14.getText()).doubleValue())*1.0E-09,2.0); mp.A1_A2_DT[2] = (Double.valueOf(input_orbital_elements_tf15.getText()).doubleValue())*1.0E-09; mp.big_p[8][8] = Math.pow((Double.valueOf(input_orbital_elements_tf16.getText()).doubleValue())*1.0E-09,2.0); mp.A1_A2_DT[3] = Double.valueOf(input_orbital_elements_tf17.getText()).doubleValue(); /* First, complete the list of classical elements by calculating q and T */ if ((classical_elements[2] != 1.0) && (!mp.comet_identifier)) { classical_elements[8] = classical_elements[1]*(1.0 - classical_elements[2]); classical_elements_uncertainty[8] = (classical_elements_uncertainty[1]*(1.0 - classical_elements[2]) - classical_elements_uncertainty[2]*classical_elements[1]); classical_elements_covariance[8][8] = Math.pow((classical_elements_uncertainty[1]*(1.0 - classical_elements[2]) - classical_elements_uncertainty[2]*classical_elements[1]),2.0); mean_motion = mp.kappa*Math.sqrt(mp.mu/Math.pow(Math.abs(classical_elements[1]),3.0)); classical_elements[6] = mp.epoch_time - classical_elements[7]/mean_motion; classical_elements_uncertainty[6] = ((classical_elements[7]/Math.pow(mean_motion,2.0))*(-1.5*classical_elements_uncertainty[1]*mean_motion/classical_elements[1]) - classical_elements_uncertainty[7]/mean_motion); classical_elements_covariance[6][6] = Math.pow(((classical_elements[7]/Math.pow(mean_motion,2.0))*(-1.5*classical_elements_uncertainty[1]*mean_motion/classical_elements[1]) - classical_elements_uncertainty[7]/mean_motion),2.0); } else if ((classical_elements[2] == 1.0) || (mp.comet_identifier)) { /* If e=1, set a and M to zero; otherwise, find them and their covs */ if (classical_elements[2] == 1.0) { classical_elements[1] = 0.0; classical_elements_covariance[1][1] = 0.0; classical_elements[7] = 0.0; classical_elements_covariance[7][7] = 0.0; } else { classical_elements[1] = classical_elements[8]/(1.0 - classical_elements[2]); classical_elements_uncertainty[1] = classical_elements_uncertainty[8]/(1.0 - classical_elements[2]) + classical_elements_uncertainty[2]*classical_elements[8]/Math.pow((1.0 - classical_elements[2]),2.0); classical_elements_covariance[1][1] = Math.pow(classical_elements_uncertainty[1],2.0); mean_motion = mp.kappa*Math.sqrt(mp.mu/Math.pow(Math.abs(classical_elements[1]),3.0)); classical_elements[7] = mean_motion*(mp.epoch_time - classical_elements[6]); classical_elements_uncertainty[7] = (-1.5*classical_elements_uncertainty[1]*mean_motion/classical_elements[1])*(mp.epoch_time - classical_elements[6]) - classical_elements_uncertainty[6]*mean_motion; classical_elements_covariance[7][7] = Math.pow(classical_elements_uncertainty[7],2.0); } } /* Now, knowing the epoch classical elements and their uncertainties, we use variant calculations to determine the epoch state vector and covariances. */ mp.get_state_vector_covariance(classical_elements, classical_elements_covariance); /* With the state vector and covariances successfully calculated, save the data file */ mp.write_data_to_disk(mp.current_minor_planet); } void display_orbit() { /* This method allows the user to select whether to display the classical orbital elements, or the state vector. It reuses the existing pane, which must be cleared and retitled. */ int i = 0; pane.removeAll(); setTitle("minor planet " + mp.current_minor_planet); /* Define a layout manager for the pane */ GridBagLayout display_orbit_layout = new GridBagLayout(); GridBagConstraints display_orbit_constraints = new GridBagConstraints(); pane.setLayout(display_orbit_layout); /* Set the font and color for the pane */ Font font_f = new Font("monospaced",Font.PLAIN,12); /* Add constraints to display_orbit_blank1, then add it to pane */ JLabel display_orbit_blank1 = new JLabel(" "); buildConstraints(display_orbit_constraints,0,0,2,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); display_orbit_layout.setConstraints(display_orbit_blank1,display_orbit_constraints); display_orbit_blank1.setFont(font_f); pane.add(display_orbit_blank1); /* Add constraints to display_orbit_blank2, then add it to pane */ JLabel display_orbit_blank2 = new JLabel(" "); buildConstraints(display_orbit_constraints,0,1,2,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); display_orbit_layout.setConstraints(display_orbit_blank2,display_orbit_constraints); display_orbit_blank2.setFont(font_f); pane.add(display_orbit_blank2); /* Add constraints to display_orbit_blank3, then add it to pane */ JLabel display_orbit_blank3 = new JLabel(" "); buildConstraints(display_orbit_constraints,0,2,2,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); display_orbit_layout.setConstraints(display_orbit_blank3,display_orbit_constraints); display_orbit_blank3.setFont(font_f); pane.add(display_orbit_blank3); /* Add constraints to display_orbit_b1, add a listener, then add it to pane */ buildConstraints(display_orbit_constraints,0,3,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.EAST); display_orbit_layout.setConstraints(display_orbit_b1,display_orbit_constraints); display_orbit_b1.addActionListener(this); display_orbit_b1.setFont(font_f); pane.add(display_orbit_b1); /* Add constraints to display_orbit_response2, then add it to pane */ JLabel display_orbit_response2 = new JLabel((" Display the classical orbital elements")); buildConstraints(display_orbit_constraints,1,3,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.WEST); display_orbit_layout.setConstraints(display_orbit_response2,display_orbit_constraints); display_orbit_response2.setFont(font_f); pane.add(display_orbit_response2); /* Add constraints to display_orbit_blank4, then add it to pane */ JLabel display_orbit_blank4 = new JLabel(" "); buildConstraints(display_orbit_constraints,0,4,2,1,50,14,GridBagConstraints.NONE,GridBagConstraints.CENTER); display_orbit_layout.setConstraints(display_orbit_blank4,display_orbit_constraints); display_orbit_blank4.setFont(font_f); pane.add(display_orbit_blank4); /* Add constraints to display_orbit_b2, add a listener, then add it to pane */ buildConstraints(display_orbit_constraints,0,5,1,1,50,14,GridBagConstraints.NONE,GridBagConstraints.EAST); display_orbit_layout.setConstraints(display_orbit_b2,display_orbit_constraints); display_orbit_b2.addActionListener(this); display_orbit_b2.setFont(font_f); pane.add(display_orbit_b2); /* Add constraints to display_orbit_response3, then add it to pane */ JLabel display_orbit_response3 = new JLabel((" Display the state vector")); buildConstraints(display_orbit_constraints,1,5,1,1,50,14,Gr