Sie sind auf Seite 1von 11

A continuacin se muestran los cdigos utilizados para la elaboracin del

proyecto de Sala de Chat as como las pantallas de los mismos.

Cdigo .html utilizado para Seleccionar los sitios desde la web. [Fig. 1.0]
y su pantalla en la web [Fig. 1.1]

Fig. 1.0 Cdigo del Selector de Sitios web.

pg. 1

Fig. 1.1 Aqu se muestra la ejecucin del selector del sitio web y ste nos
manda un error al ejecutar el html debido a que el navegador no tiene
actualizado el plugin, el cual pudimos comprobar al ejecutar la aplicacin
[Fig. 1.2] de java.

Fig. 1.2 En sta captura se observa la ejecucin de la aplicacin del cdigo de


selector de sitios sin presentar ningn error y mostrando la ventana de salida
con los sitios a poder seleccionar.
Posteriormente realizamos la prueba para leer archivos del servidor. A
continuacin mostraremos la ejecucin de la aplicacin [Fig. 2.0] y la ventana
para introducir la URL.
pg. 2

Fig. 2.0 Ejecucin de la aplicacin para comprobar que se puedan leer


archivos del servidor.

A continuacin mostraremos los cdigos completos del avance de la


Prctica Sala de Chat.

// Fig. 24.2: SelectorSitios.java


// Este programa carga un documento de un URL.
import java.net.MalformedURLException;
import java.net.URL; import java.util.HashMap;
import java.util.ArrayList; import

pg. 3

java.awt.BorderLayout; import
java.applet.AppletContext; import
javax.swing.JApplet; import
javax.swing.JLabel; import javax.swing.JList;
import javax.swing.JScrollPane; import
javax.swing.event.ListSelectionEvent; import
javax.swing.event.ListSelectionListener;

public class SelectorSitios extends JApplet


{
private HashMap< Object, URL > sitios; // nombres de sitios y URLs
private ArrayList< String > nombresSitios; // nombres de sitios private
JList selectorSitios; // lista de sitios a elegir

// lee los parmetros de HTML y establece la GUI


public void init()
{
sitios = new HashMap< Object, URL >(); // crea objeto HashMap
nombresSitios = new ArrayList< String >(); // crea objeto ArrayList

// obtiene los parmetros del documento de HTML


obtenerSitiosDeParametrosHTML();
// crea componentes de GUI e interfaz de esquema
add( new JLabel(
BorderLayout.NORTH );

"Seleccione

un

sitio

para

navegar"

),

selectorSitios = new JList( nombresSitios.toArray() ); // llena el objeto JList


selectorSitios.addListSelectionListener(

new ListSelectionListener() //

clase interna annima


{
// va al sitio seleccionado por el usuario public void
valueChanged( ListSelectionEvent evento )
{
// obtiene el nombre del sitio seleccionado
pg. 4

Object objeto = selectorSitios.getSelectedValue();

// usa el nombre del sitio para localizar el URL correspondiente


URL nuevoDocumento = sitios.get( objeto );

// obtiene el contenedor de applets


AppletContext navegador = getAppletContext();

// indica al contenedor de applets que cambie de pgina


navegador.showDocument( nuevoDocumento );
} // fin del mtodo valueChanged
} // fin de la clase interna annima
); // fin de la llamada a addListSelectionListener

add( new JScrollPane( selectorSitios ), BorderLayout.CENTER );


} // fin del mtodo init

// obtiene los parmetros del documento de HTML


private void obtenerSitiosDeParametrosHTML()
{
String titulo; // titulo del sitio
String ubicacion; // ubicacion del sitio URL
url; // URL de la ubicacin int contador = 0; //
cuenta el nmero de sitios

titulo = getParameter( "titulo" + contador ); // obtiene el ttulo del primer


sitio

// itera hasta que no haya ms parmetros en el documento de HTML


while ( titulo != null )
{

pg. 5

// obtiene la ubicacin del sitio ubicacion =


getParameter( "ubicacion" + contador );

try // coloca titulo/URL en objeto HashMap y titulo en objeto ArrayList


{
url = new URL( ubicacion ); // convierte la ubicacin en URL
sitios.put( titulo, url ); // coloca titulo/URL en objeto HashMap
nombresSitios.add( titulo ); // coloca titulo en objeto ArrayList
} // fin de try
catch ( MalformedURLException excepcionURL )
{
excepcionURL.printStackTrace();
} // fin de catch

contador++;
titulo = getParameter( "titulo" + contador ); // obtiene el ttulo del
siguiente
sitio
} // fin de while
} // fin del mtodo obtenerSitiosDeParametrosHTML
} // fin de la clase SelectorSitios
// Fig. 24.3: LeerArchivoServidor.java
// Uso de un objeto JEditorPane para mostrar el contenido de un archivo
en un servidor Web.
import java.awt.BorderLayout; import
java.awt.event.ActionEvent; import
java.awt.event.ActionListener; import
java.io.IOException; import
javax.swing.JEditorPane; import
javax.swing.JFrame; import
javax.swing.JOptionPane; import
javax.swing.JScrollPane; import
javax.swing.JTextField; import

pg. 6

javax.swing.event.HyperlinkEvent; import
javax.swing.event.HyperlinkListener;

public class LeerArchivoServidor extends JFrame


{
private JTextField campoIntroducir; // objeto JTextField para escribir el
nombre del sitio private JEditorPane areaContenido; // para mostrar
un sitio Web

// establece la GUI public


LeerArchivoServidor()
{
super( "Navegador Web simple" );

// crea campoIntroducir y registra su componente de escucha


campoIntroducir = new JTextField( "Escriba el URL del archivo" );
campoIntroducir.addActionListener( new ActionListener()
{
// obtiene el documento especificado por el usuario
public void actionPerformed( ActionEvent evento )
{
obtenerLaPagina( evento.getActionCommand() );
} // fin del mtodo actionPerformed
} // fin de la clase interna
); // fin de la llamada a addActionListener

add( campoIntroducir, BorderLayout.NORTH );

areaContenido = new JEditorPane(); // crea areaContenido


areaContenido.setEditable( false );
areaContenido.addHyperlinkListener( new
HyperlinkListener()

pg. 7

{
// si el usuario hizo clic en un hipervnculo, va a la pgina especificada
public void hyperlinkUpdate( HyperlinkEvent evento )
{

if ( evento.getEventType() == HyperlinkEvent.EventType.ACTIVATED )
obtenerLaPagina( evento.getURL().toString() );
} // fin del mtodo hyperlinkUpdate
} // fin de la clase interna annima
); // fin de la llamada a addHyperlinkListener

add( new JScrollPane( areaContenido ), BorderLayout.CENTER );


setSize( 400, 300 ); // establece el tamao de la ventana setVisible(
true ); // muestra la ventana
} // fin del constructor de LeerArchivoServidor

// carga el documento
private void obtenerLaPagina( String ubicacion )
{
try // carga el documento y muestra la ubicacin
{
areaContenido.setPage( ubicacion ); // establece la pgina
campoIntroducir.setText( ubicacion ); // establece el texto
} // fin de try
catch ( IOException excepcionES )
{
JOptionPane.showMessageDialog( this,
"Error al obtener el URL especificado", "URL incorrecto",
JOptionPane.ERROR_MESSAGE );
} // fin de catch
} // fin del mtodo obtenerLaPagina
} // fin de la clase LeerArchivoServidor

pg. 8

// Fig. 24.4: PruebaLeerArchivoServidor.java //


Crea e inicia un objeto LeerArchivoServidor.
import javax.swing.JFrame; public class
PruebaLeerArchivoServidor
{
public static void main( String args[] )
{
LeerArchivoServidor aplicacion = new LeerArchivoServidor();
aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
} // fin de main
} // fin de la clase PruebaLeerArchivoServidor

pg. 9

pg. 10

pg. 11

Das könnte Ihnen auch gefallen