Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/08/2005, 13:53
jailander1982
 
Fecha de Ingreso: abril-2005
Mensajes: 4
Antigüedad: 19 años
Puntos: 0
Pregunta Ayuda con Panel Html en JAVA

Hola. Tengo un problemilla con un código java. Os cuento: necesito hacer un programa en JAVA que me permita abrir desde la aplicacion una serie de PAGINAS HTML. El problema es que el codigo que uso (no se porqué) solo me visualiza paginas html que sean muy simples (sin marcos,ni capas, ni formatos, y sobretodo, sin APPLETS...). Solo soy capaz de visualizar paginas con alguna foto y texto. Y ademas, algunas veces se muestra todo descolocado. Desde el navegador se ve la pagina perfectamente, pero desde la ventana de mi aplicacion no. Os posteo el código que utilizo para cargar la pagina HTML. Es una clase que extiende un JScrollPane por motivos de mi aplicacion. Luego añado esta clase a un panel dentro de un JFrame para que se visualice... Ahi va el codigo, pero antes mi pregunta: ¿Alguien sabe que es lo que falla? ¿Porque visualiza bien paginas simples y otras (hechas por ejemplo con Dreamweaver) no? Porque no acepta una pagina con Applets??? ¿Alquien conoce otra forma de hacer un visor HTML???? INFINITAS GRACIAS A TODOS POR VUESTRA AYUDA!!!!


El codigo:
Código PHP:
//------------------------------------------------------------
//VisorHtml.java
//----------------------------------------------------------

import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.net.*;
import java.io.*;
import javax.swing.text.html.*;
import javax.swing.event.*;

public class 
VisorHtml extends JScrollPane {

    
JEditorPane html = new JEditorPane();  

    public 
VisorHtml(JPanel padre) {
        try { 
         
URL url null
         
String path null;
            try { 
         
path "/index.html"
         
url getClass().getResource(path);
            } 
            catch (
Exception e) { 
         
System.err.println("Error al abrir " path); 
         
url null
            } 
            if(
url != null) {  
                
html.setPage(url); 
                
html.addHyperlinkListener(createHyperLinkListener());
                
JViewport vp this.getViewport(); 
         
vp.add(html);
            }
        } catch (
MalformedURLException e) { 
            
System.out.println("URL incorrecta: " e); 
        } catch (
IOException e) { 
            
System.out.println("Error E/S: " e); 
        }
    }
    
    public 
HyperlinkListener createHyperLinkListener() { 
        return new 
HyperlinkListener() {
            public 
void hyperlinkUpdate(HyperlinkEvent e) {
                if (
e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { 
             if (
instanceof HTMLFrameHyperlinkEvent) { 
                        ((
HTMLDocument)html.getDocument()).processHTMLFrameHyperlinkEvent((HTMLFrameHyperlinkEvent)e); 
             } 
                    else {
                        try { 
                 
html.setPage(e.getURL());   
             } 
                        catch (
IOException ioe) {
                            
System.out.println("Error E/S: " ioe); 
                        }
                    }
                }
            }
        };
    }
}

//-------------------------------------------------
//Fin clase VisorHTML.java
//-----------------------------------------------


LUEGO,PARA VISUALIZAR LA PAGINA HAGO UNA CLASE COMO:

public class 
PanelHtml extends javax.swing.JPanel {

VisorHtml html;

    public 
PanelHtml() {
        
initComponents();
        
html = new VisorHtml(this);
        ...
        }
        ...

GRACIAS POR TODO UNA VEZ MAS!!!!!!

Última edición por jailander1982; 26/08/2005 a las 14:50