HTML Seiten anzeigen

sisela

Erfahrenes Mitglied
Heyho...

gibt es eine Möglichkeit eine einfache html-Seite in einem Panel oder ähnliches anzuzeigen?

mfg
 
Hi,
du hast vollkommen recht.
Code:
public class Browser
{
	private String htmlPath = "file:\\c:\\App\\de\\App\\vorlagen\\";
	private String page = htmlPath+"vorlage1.htm";

	private JEditorPane browser = null;
	private JPanel panel = null;
	private JScrollPane sp = null;
	
	public Browser()
	{
		browser = new JEditorPane();
		browser.setEditable(false);
	}
	
	public void createBrowser()
	{
		File localFile = new File(page);
		
		try 
		{
			browser.setPage(page);
		} 
		catch (IOException e) 
		{
			e.printStackTrace();
		}
		
		browser.setPreferredSize(new Dimension(400, 300));
		sp = new JScrollPane(browser);
		
		panel = new JPanel();
		panel.add(sp);
		
		App.contentPanel.add(panel);
		App.contentPanel.setVisible(true);
	}
}

Damit kann ich mir ganz einfach eine HTML Seite anzeigen lassen. Wenn ich darin noch Links benutzen will, kann ich noch einen HyperlinkListener implementieren. Dieses Bsp. liest eine lokale HTML,man kann aber auch ein richtige URL einlesen.

Vielen Dank...
 
Hallo!

Wenn du SWT verwenden würdest könntest du per Browser Widget sogar den jeweiligen Standard Browser des Zielsystems nutzen.

Gruß Tom
 
Hi Tom,
habe bisher noch kein SWT benutzt, hast du ein kleines Bsp. parat (falls Zeit und Code vorhanden).
;)
 
Hallo!

Code:
/**
 * 
 */
package de.tutorials;

import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

/**
 * @author Tom
 *
 */
public class SWTBrowserExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Display display = new Display();
		Shell shell = new Shell(display);
		shell.setLayout(new FillLayout());
		
		Browser browser = new Browser(shell,SWT.BORDER);
		browser.setUrl("http://www.tutorials.de");
		browser.setSize(640,480);
		
		shell.pack();
		shell.open();
		
		while(!shell.isDisposed()){
			if(!display.readAndDispatch()){
				display.sleep();
			}
		}
	}

}

Gruß Tom
 
Danke,

die Browsererkennung findet dann wohl automisch statt, weil ich keine entsprechende Programmzeile finde.

mfg
 
Hi,

das "The Standard Widget Toolkit" ist wirklich genial. Allerdings habe ich es nicht hinbekommen, das Browser-Fenster in ein Swing-Container reinzuquetschen, was vermutlich nicht gehen kann und auch nicht gehen soll ? Habe ich das was übersehen ?

Viele Grüße

Jan
 
Hallo,

SWT und Swing (bzw. AWT) sind zwei verschiedene Paar Schuhe, man sollte sie nicht miteinander mischen. Entweder verwendet man das eine Framework oder das andere. Dennoch gibt es für die Ausnahmefälle eine Möglichkeit, die beiden Technologien zu verbinden, siehe dazu SWT_AWT Bridge. Aber ich würde sie wirklich nur dann verwenden, wenn's anders nicht geht.

Grüße
Vincent
 
Zurück