Hallo zusammen!
Ich komme irgendwie nicht weiter. Hab auch per Google gesucht, aber irgendwie finde ich meinen Fehler nicht.
Der Compiler gibt folgendes aus:
Der Pfad zur HTML-Datei ist aber richtig, denke ich. Das Programm-Icon (b.gif) wird nämlich gezogen.
Hab mittlerweile etliche Male den Code abgeändert, aber jetzt sehe ich den Wald vor lauter Bäumen nicht mehr.
Hier mein Quelltext:
Wäre nett, wenn mal jemand drüber schauen könnte.
Vielen Dank im Voraus!
Ich komme irgendwie nicht weiter. Hab auch per Google gesucht, aber irgendwie finde ich meinen Fehler nicht.
Der Compiler gibt folgendes aus:
Code:
Failed to open resources/index.html
IOException: java.io.IOException: invalid url
Der Pfad zur HTML-Datei ist aber richtig, denke ich. Das Programm-Icon (b.gif) wird nämlich gezogen.
Hab mittlerweile etliche Male den Code abgeändert, aber jetzt sehe ich den Wald vor lauter Bäumen nicht mehr.
Hier mein Quelltext:
Java:
package testen;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.html.*;
import java.awt.*;
import java.io.*;
import java.net.*;
public class JEditorPaneDemo extends JFrame
{
private static final long serialVersionUID = 1299858177834171934L;
JEditorPane html;
private Container con;
private JPanel jpCenter;
public static void main(String[] args)
{
new JEditorPaneDemo().setVisible(true);
}
public JEditorPaneDemo()
{
super("HtmlDemo");
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setBounds((screenSize.width - this.getWidth()) / 2 - 400,
(screenSize.height - this.getHeight()) / 2 - 400, 800, 800);
Image programIcon = Toolkit.getDefaultToolkit().getImage("resources/b.gif");
this.setIconImage(programIcon);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.initComponents();
}
private void initComponents()
{
this.con = this.getContentPane();
// this.con.add(this.getNorthPanel(), BorderLayout.NORTH);
this.con.add(this.getCenterPanel(), BorderLayout.WEST);
// this.con.add(this.getRightPanel(), BorderLayout.CENTER);
}
private JPanel getCenterPanel()
{
if (this.jpCenter == null)
{
this.jpCenter = new JPanel();
this.jpCenter.setBackground(Color.BLUE);
this.jpCenter.setPreferredSize(new Dimension(600, 764));
try
{
URL url = null;
String path = null;
path = "resources/index.html";
url = getClass().getResource(path);
System.err.println("Failed to open " + path);
// url = null;
html = new JEditorPane(url);
html.setEditable(false);
html.addHyperlinkListener(createHyperLinkListener());
html.setPage(url);
JScrollPane scroller = new JScrollPane();
JViewport vp = scroller.getViewport();
vp.add(html);
this.jpCenter.add(scroller, BorderLayout.CENTER);
}
catch (MalformedURLException e)
{
System.out.println("Malformed URL: " + e);
}
catch (IOException e)
{
System.out.println("IOException: " + e);
}
}
return this.jpCenter;
}
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("IOE: " + ioe);
}
}
}
}
};
}
void updateDragEnabled(boolean dragEnabled)
{
html.setDragEnabled(dragEnabled);
}
}
Wäre nett, wenn mal jemand drüber schauen könnte.
Vielen Dank im Voraus!
Zuletzt bearbeitet: