| StarSelectorDialog |  | 0% |  | 0% | 49 | 49 | 182 | 182 | 37 | 37 | 1 | 1 |
| DateToJdDialog |  | 0% |  | 0% | 34 | 34 | 132 | 132 | 16 | 16 | 1 | 1 |
| PlotControlDialog |  | 0% |  | 0% | 19 | 19 | 124 | 124 | 17 | 17 | 1 | 1 |
| AboutBox |  | 0% | | n/a | 5 | 5 | 112 | 112 | 5 | 5 | 1 | 1 |
| AdditiveLoadFileOrUrlChooser |  | 0% |  | 0% | 32 | 32 | 106 | 106 | 22 | 22 | 1 | 1 |
| InfoDialog |  | 0% |  | 0% | 15 | 15 | 101 | 101 | 4 | 4 | 1 | 1 |
| StarGroupSelectionPane |  | 0% |  | 0% | 31 | 31 | 81 | 81 | 16 | 16 | 1 | 1 |
| PhaseParameterDialog |  | 0% |  | 0% | 25 | 25 | 92 | 92 | 13 | 13 | 1 | 1 |
| MessageBox |  | 0% |  | 0% | 26 | 26 | 89 | 89 | 13 | 13 | 1 | 1 |
| TextDialog |  | 0% |  | 0% | 20 | 20 | 62 | 62 | 10 | 10 | 1 | 1 |
| MultiEntryComponentDialog |  | 0% |  | 0% | 27 | 27 | 62 | 62 | 10 | 10 | 1 | 1 |
| PhaseDialog |  | 0% |  | 0% | 13 | 13 | 55 | 55 | 9 | 9 | 1 | 1 |
| TextAreaTabs |  | 0% |  | 0% | 23 | 23 | 48 | 48 | 10 | 10 | 1 | 1 |
| DiscrepantReportDialog |  | 0% |  | 0% | 8 | 8 | 56 | 56 | 7 | 7 | 1 | 1 |
| LogDialog |  | 0% |  | 0% | 6 | 6 | 57 | 57 | 5 | 5 | 1 | 1 |
| AuthCodeLoginDialog |  | 0% |  | 0% | 12 | 12 | 54 | 54 | 11 | 11 | 1 | 1 |
| LoginDialog |  | 0% |  | 0% | 12 | 12 | 49 | 49 | 10 | 10 | 1 | 1 |
| SeriesTypeCreationDialog |  | 0% |  | 0% | 7 | 7 | 43 | 43 | 5 | 5 | 1 | 1 |
| ObservationDetailsDialog |  | 0% |  | 0% | 9 | 9 | 45 | 45 | 7 | 7 | 1 | 1 |
| AbstractOkCancelDialog |  | 0% |  | 0% | 14 | 14 | 48 | 48 | 13 | 13 | 1 | 1 |
| PolynomialDegreeDialog |  | 0% |  | 0% | 7 | 7 | 40 | 40 | 6 | 6 | 1 | 1 |
| RadioButtonDialog |  | 0% |  | 0% | 7 | 7 | 36 | 36 | 6 | 6 | 1 | 1 |
| LoadChooser |   | 29% |   | 26% | 19 | 21 | 29 | 44 | 7 | 8 | 0 | 1 |
| SaveChooser |   | 38% |   | 22% | 25 | 27 | 29 | 48 | 4 | 5 | 0 | 1 |
| DelimitedFieldFileSaveChooser |   | 71% |   | 44% | 13 | 19 | 22 | 69 | 6 | 10 | 0 | 1 |
| SelectableTextField |  | 0% |  | 0% | 13 | 13 | 26 | 26 | 12 | 12 | 1 | 1 |
| StarSelectorDialog.new ActionListener() {...} |  | 0% |  | 0% | 7 | 7 | 23 | 23 | 2 | 2 | 1 | 1 |
| TextField |  | 0% |  | 0% | 13 | 13 | 24 | 24 | 11 | 11 | 1 | 1 |
| NumberFieldBase |  | 0% |  | 0% | 12 | 12 | 21 | 21 | 11 | 11 | 1 | 1 |
| ObservationDetailsDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 21 | 21 | 2 | 2 | 1 | 1 |
| IntegerField |  | 0% |  | 0% | 9 | 9 | 16 | 16 | 4 | 4 | 1 | 1 |
| DoubleField |  | 0% |  | 0% | 8 | 8 | 15 | 15 | 3 | 3 | 1 | 1 |
| LongField |  | 0% |  | 0% | 9 | 9 | 14 | 14 | 4 | 4 | 1 | 1 |
| StarSelectorDialog.new DocumentListener() {...} |  | 0% |  | 0% | 7 | 7 | 19 | 19 | 5 | 5 | 1 | 1 |
| AdditiveLoadFileOrUrlChooser.new ActionListener() {...} |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 2 | 2 | 1 | 1 |
| TextArea |   | 56% |   | 50% | 13 | 17 | 14 | 32 | 9 | 13 | 0 | 1 |
| Checkbox |  | 0% |  | 0% | 10 | 10 | 14 | 14 | 9 | 9 | 1 | 1 |
| AdditiveLoadFileOrUrlChooser.new ActionListener() {...} |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 2 | 2 | 1 | 1 |
| PhaseDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 10 | 10 | 2 | 2 | 1 | 1 |
| PhaseDialog.new Listener() {...} |  | 0% |  | 0% | 5 | 5 | 9 | 9 | 3 | 3 | 1 | 1 |
| ObservationDetailsDialog.new Listener() {...} |  | 0% |  | 0% | 6 | 6 | 7 | 7 | 3 | 3 | 1 | 1 |
| StarGroupSelectionPane.new ActionListener() {...} |  | 0% |  | 0% | 4 | 4 | 6 | 6 | 2 | 2 | 1 | 1 |
| StarSelectorDialog.new ActionListener() {...} |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 2 | 2 | 1 | 1 |
| StarGroupSelectionPane.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 6 | 6 | 2 | 2 | 1 | 1 |
| DateToJdDialog.DoubleFieldSeconds |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 2 | 2 | 1 | 1 |
| PNGImageFileSaveChooser |   | 43% |  | 0% | 5 | 6 | 5 | 11 | 2 | 3 | 0 | 1 |
| PhaseDialog.new Listener() {...} |  | 0% | | n/a | 3 | 3 | 8 | 8 | 3 | 3 | 1 | 1 |
| PhaseDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 7 | 7 | 2 | 2 | 1 | 1 |
| AdditiveLoadFileOrUrlChooser.new ActionListener() {...} |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 2 | 2 | 1 | 1 |
| FileExtensionFilter |   | 72% |   | 37% | 3 | 7 | 5 | 20 | 0 | 3 | 0 | 1 |
| AbstractOkCancelDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| AboutBox.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| ObservationDetailsDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| AuthCodeLoginDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| StarSelectorDialog.UpdateListener |  | 0% | | n/a | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 |
| DelimitedFieldFileSaveChooser.new ActionListener() {...} |  | 33% |  | 0% | 2 | 3 | 3 | 4 | 1 | 2 | 0 | 1 |
| PlotControlDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| PlotControlDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| PlotControlDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| PlotControlDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| PlotControlDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| PlotControlDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| LoginDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| AbstractOkCancelDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| AbstractOkCancelDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| AuthCodeLoginDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| DateToJdDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| StarSelectorDialog.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |