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 (e 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!!!!!!