private void runwayJListSelectionChanged(ListSelectionEvent listSelectionEvent) 
    {
        if(runwaysJList.getSelectedIndex() >= 0){
            try{
                Runway theRunway = (Runway)runwaysJList.getSelectedValue();
                currentData.setCurrentRunway(theRunway);
                currentData.cleafGliderPosition();
                currentData.clearWinchPosition();
                
                runwayNameField.setText(theRunway.getName());
                runwayNameField.setBackground(Color.GREEN);
                runwayNameField.setHorizontalAlignment(JTextField.RIGHT);
                
                if(runwayMagneticHeadingUnitsID == 1)
                {
                    magneticHeadingField.setText(String.valueOf(theRunway.getMagneticHeading() + currentData.getCurrentAirfield().getMagneticVariation()));
                    magneticHeadingField.setBackground(Color.GREEN); 
                    magneticHeadingField.setHorizontalAlignment(JTextField.RIGHT);
                }
                else
                {
                    magneticHeadingField.setText(String.valueOf(theRunway.getMagneticHeading()));
                    magneticHeadingField.setBackground(Color.GREEN); 
                    magneticHeadingField.setHorizontalAlignment(JTextField.RIGHT);
                }
                
                gliderPosNameField.setText("No Glider Position Selected");
                gliderPosNameField.setBackground(Color.WHITE);
                gliderPosAltitudeField.setText("No Glider Position Selected");
                gliderPosAltitudeField.setBackground(Color.WHITE);
                gliderPosLongitudeField.setText("No Glider Position Selected");
                gliderPosLongitudeField.setBackground(Color.WHITE);
                gliderPosLatitudeField.setText("No Glider Position Selected");
                gliderPosLatitudeField.setBackground(Color.WHITE);
                winchPosNameField.setText("No Winch Position Selected");
                winchPosNameField.setBackground(Color.WHITE);
                winchPosAltitudeField.setText("No Winch Position Selected");
                winchPosAltitudeField.setBackground(Color.WHITE);
                winchPosLongitudeField.setText("No Winch Position Selected");
                winchPosLongitudeField.setBackground(Color.WHITE);
                winchPosLatitudeField.setText("No Winch Position Selected");
                winchPosLatitudeField.setBackground(Color.WHITE);
                
                gliderPositionModel.removeAllElements();
                for(GliderPosition str: gliderPositions){
                    if(str.getRunwayParentId().equals(theRunway.getId()))
                        gliderPositionModel.addElement(str);
                }
                
                winchPositionModel.removeAllElements();
                for(WinchPosition str: winchPositions){
                    if(str.getRunwayParentId().equals(theRunway.getId()))
                        winchPositionModel.addElement(str);
                }
            } catch(Exception e) {
                //TODO respond to error
            }
            runwayEditButton.setEnabled(true);
            gliderPosAddNewButton.setEnabled(true);
            winchPosAddNewButton.setEnabled(true);
        }
    }