private void cargarProgramaDesdeFichero(){

		// Si estamos en medio de una ejecución paso a paso, finalizarla
		if (ejecucionSBS)
			accionParar(true);
		
		// Comprobamos los cambios en el fichero actual antes de cargar uno nuevo
		comprobarCambios("Antes de cargar otro programa...",
						 "¿Desea guardar los cambios hechos en el programa actual?",
						 "Guardar",
						 "Descartar");

		JFileChooser chooser = new JFileChooser(".");			// Creamos objeto OpenDialog
		
		// Creamos el filtro para el OpenDialog
		FileFilter filter = new FileNameExtensionFilter("Lenguaje de Programación Propio (*.lpp)","lpp","LPP");
		FileFilter filter2 = new FileNameExtensionFilter("Código en texto plano (*.txt)","txt","TXT");
		chooser.setFileFilter(filter);								// Setear ".lpp" como la extension principal
		chooser.addChoosableFileFilter(filter2);					// Añadir ".txt" como extension tb usable
		chooser.setAcceptAllFileFilterUsed(false);					// No incluir "Todos los archivos" en el filtro de extensiones 	
		chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);		// Solo aceptar ficheros

		
		if (chooser.showOpenDialog(InterfazCompilador.this) == JFileChooser.APPROVE_OPTION){		// Mostrar OpenDialog y si pulsó Aceptar
			rutaProgActual = chooser.getSelectedFile().getAbsolutePath(); // Guardar ruta del programa		
			if (rutaProgActual.matches(".*.lpp"))
				rutaCodObjActual = rutaProgActual.replace(".lpp", ".co");		// Guardar ruta del codigo objeto generado
			if (rutaProgActual.matches(".*.LPP"))
				rutaCodObjActual = rutaProgActual.replace(".LPP", ".co");		// Guardar ruta del codigo objeto generado
			if (rutaProgActual.matches(".*.txt"))
				rutaCodObjActual = rutaProgActual.replace(".txt", ".co");		// Va a aceptar codigo en txt tb
			if (rutaProgActual.matches(".*.TXT"))
				rutaCodObjActual = rutaProgActual.replace(".TXT", ".co");		// Guardar ruta del codigo objeto generado si es .TXT'

			this.setTitle("Compilador PLG (G05) - " + rutaProgActual );		// Cambiar la barra de titulo
		
			// Pasar fichero al JTextArea
			// --------------------------
		    try {
		    	FileReader reader = new FileReader(rutaProgActual);
		    	BufferedReader br = new BufferedReader(reader);
		    	areaTextoCodigo.read( br, null );
	            br.close();
	            areaTextoCodigo.requestFocus();            
		     	}
		    catch(Exception e2) { 
		    	JOptionPane.showMessageDialog(null, "ERROR!\nNo se puede cargar el fichero: "+rutaProgActual);
	           }
		    
		    codigoModificado = false;
			actualizaNumLineas();
		}
		
		
		
	}