JEditorPane mit Refresh von Meta

Status
Nicht offen für weitere Antworten.

Iron Monkey

Bekanntes Mitglied
Hi an alle!

Ich habe einen kleinen Browser mit JEditorPane gebaut. Die HTML-Seite wird dort sauber geladen und angezeigt.
Ich spiele gerade ein bisschen rum, ob der JEditorPane überhaupt den Meta-Tag verstehen kann, z.B.:

<meta http-equiv=\"refresh\" content=\"5; URL=http://www.google.de\"/>

Damit habe ich vor, dass die Seite nach 5 Sekunden zu Google umleiten soll. Passiert nichts.
Es sieht so aus, dass er das überhaupt nicht versteht. Warum nicht?

Von JEditorPane habe ich mit:

- setText("<html><head><meta http-equiv=\"refresh\" content=\"5; URL=http://www.google.de\"/></head><body><a href=http://www.yahoo.com>click to go to yahoo</a><li>Hello</li></body></html>");

- setPage( "www.blabla.de/test.html" ); <-- In dieser HTML-Datei steht der selbe Inhalt wie oben von setText()!

Es geht mir nur darum, warum das JEditorPane den Meta-Tag nicht versteht?

Java:
import java.io.*;
import java.awt.*;
import java.net.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.event.*;

public class HTMLPanel extends JPanel implements HyperlinkListener
{
	private static final long serialVersionUID = 1L;

	protected JEditorPane html;

	private URL url;

	private JButton goBut;

	private JTextField inputJT;

	private JPanel butPanel;

	public HTMLPanel( String htmlText )
	{
		setLayout(new BorderLayout());

		html = new JEditorPane("text/html", "");
		html.setText( htmlText );
		html.setEditable(false);
		html.addHyperlinkListener(this);
		JScrollPane scroller = new JScrollPane();
		JViewport vp = scroller.getViewport();
		vp.add(html);
//		vp.setBackingStoreEnabled(true);
		add(scroller, BorderLayout.CENTER);

		goBut = new JButton("go");
		inputJT = new JTextField("http://", 200);
		butPanel = new JPanel();
		butPanel.setLayout(new GridLayout(1, 2));
		add(butPanel, BorderLayout.SOUTH);
		butPanel.add(inputJT);
		butPanel.add(goBut);

		goBut.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				try
				{
					inputJT.setText((inputJT.getText()).trim());
					if ((inputJT.getText()).length() > 0)
					{
						url = new URL(inputJT.getText());
						linkActivated( url );
						url = null;
					}
				}
				catch (java.net.MalformedURLException me)
				{
					me.printStackTrace();
				}
			}
		});
	}

	public void hyperlinkUpdate(HyperlinkEvent e)
	{
		if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
			linkActivated(e.getURL());
		}
	}

	protected void linkActivated(URL u)
	{
		Cursor c = html.getCursor();
		Cursor waitCursor = Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR);
		html.setCursor(waitCursor);
		SwingUtilities.invokeLater(new PageLoader(u, c));
	}

	class PageLoader implements Runnable
	{
		URL url;

		Cursor cursor;

		public PageLoader(URL u, Cursor c) {
			url = u;
			cursor = c;
		}

		public void run()
		{
			if (url == null)
			{
				html.setCursor(cursor);
				Container parent = html.getParent();
				parent.repaint();
			}
			else
			{
				Document doc = html.getDocument();
				try
				{                	
                    html.setPage(url);
				}
				catch (IOException ioe) {
					html.setDocument(doc);
					getToolkit().beep();
				}
				finally
				{
					url = null;
					SwingUtilities.invokeLater(this);
				}
			}
		}
	}

	public static void main(String args[])
	{
		JFrame frame = new JFrame("Roadster");
		
		String htmlText = "<html><head><meta http-equiv=\"refresh\" content=\"5; URL=http://www.google.de\"/></head><body><a href=http://www.yahoo.com>click to go to yahoo</a><li>Hello</li></body></html>";
		HTMLPanel myPanel = new HTMLPanel( htmlText );

		frame.getContentPane().add(myPanel);
		frame.setSize(500, 300);
		frame.setVisible(true);
	}
}

Danke im voraus

Gruß
Iron Monkey
 

The_S

Top Contributor
Das JEditorPane ist auf dem Stand von HTML 3 (soweit ich richtig informiert bin) und kann in keinster Weise einen vollwertigen Browser simulieren!
 

Iron Monkey

Bekanntes Mitglied
Hm, gibt es vielleicht eine andere Möglichkeit oder habe ich überhaupt keine Chance?

Gruß
Iron Monkey
 

Iron Monkey

Bekanntes Mitglied
Naja, mein Ziel ist, dass die HTML-Seite nach 5 Sekunden zu http://www.google.de weiterleiten soll, aber sowas kann ich auch im Java-Code einbinden. Es hört sich so an, das ich mit META-Tag überhaupt keine Chance habe. Hab ich das so richtig verstanden? :)

Gruß
Iron Monkey
 

The_S

Top Contributor
Naja, mein Ziel ist, dass die HTML-Seite nach 5 Sekunden zu Google weiterleiten soll, aber sowas kann ich auch im Java-Code einbinden. Es hört sich so an, das ich mit META-Tag überhaupt keine Chance habe. Hab ich das so richtig verstanden? :)

Gruß
Iron Monkey

kA, ich arbeite nie mit dem JEditorPane. Aber wenn es nicht funktioniert, dann wird es wohl nicht funktionieren ;) . Wie gesagt, ein JEditorPane ist kein vollständiger Browser, sondern kann nur HTML darstellen (aus diesem Gesichtspunkt würde ich sagen, so etwas wie Weiterleitung ist eher weniger möglich). Ich würde die Weiterleitung in Java machen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Relative Pfadangabe in JEditorPane zur lokalen Datei Allgemeine Java-Themen 2
A Auswahl eines JEditorPane das Sich in einem JScrollPanel Befindet Allgemeine Java-Themen 2
A jEditorPane Html Datei öffnen (code) Allgemeine Java-Themen 3
C JEditorPane langsam großes HTML Allgemeine Java-Themen 8
T TextArea, JTextPane, JEditorPane Allgemeine Java-Themen 11
StrikeTom Swing JEditorPane automatischer Umbruch Allgemeine Java-Themen 4
W CSS in JEditorPane Allgemeine Java-Themen 32
I Teilweise falsche Darstellung jap. Zeichen im JEditorPane mit RTFEditorKit aus RTF-Datei Allgemeine Java-Themen 5
S Swing mit JEditorPane per HTML auf Bilder in JAR zugreifen. Allgemeine Java-Themen 3
E JTextArea / JEditorPane + Text formatieren Allgemeine Java-Themen 3
T JavaScript aus HTML im JEditorPane ausführen? Allgemeine Java-Themen 5
X Ausgabe auf JEditorPane Allgemeine Java-Themen 5
S ImageTag in JEditorPane Allgemeine Java-Themen 2
R JTextPane (JEditorPane) ignoriert JScrollPane Allgemeine Java-Themen 5
U JEditorPane & copy'n'paste Allgemeine Java-Themen 34
O breite des inhalts eines jeditorpane Allgemeine Java-Themen 2
G JEditorPane Zeilenumbruch Allgemeine Java-Themen 1
G JEditorPane will nicht scrollen! Allgemeine Java-Themen 2
D Suchfunktion innerhalb Jeditorpane Allgemeine Java-Themen 6
G JEditorPane: angezeigter Text Allgemeine Java-Themen 21
D Jeditorpane + einlesen ausserhalb des Jar Allgemeine Java-Themen 4
T JApplet - JEditorPane gegen JPanel tauschen Allgemeine Java-Themen 2
T JEditorPane oder JTextPane Applets und Flash anzeigen Allgemeine Java-Themen 7
T JEditorPane aktualisieren Allgemeine Java-Themen 14
V Hyperlink mit JEditorPane Allgemeine Java-Themen 40
V Hyperlink hervorheben mit Hilfe von der Klasse JEditorPane Allgemeine Java-Themen 7
S JEditorPane / JScrollPane und nach unten scrollen Allgemeine Java-Themen 3
RalleYTN META-INF/services Problem Allgemeine Java-Themen 3
ruutaiokwu META-INF-daten bei ungepackten library-projekten während der entwicklung mit einbeziehen...? Allgemeine Java-Themen 2
F Parameter für Java Applikation per xml ins Meta-inf speichern? Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben