Hallo,
beim Stöbern durch das weltweite Netz habe ich folgenden Code gefunden, um eine .htm-Datei aufzurufen und anzeigen zu lassen. Da ich gerne zu meinem Programm eine kleine Hilfe anzeigen lassen will, wollte ich es einbauen. Da sehr wahrscheinlich ein anderer Anwender seine Verzeichnisstruktur anders aufgebaut hat, als ich, möchte ich erreichen, dass der Ort der Hilfe-Datei "dynamisch" ermittelt wird.
Ich habe dies über System.getProperty("user.dir") probiert. Der Pfad wird richtig zusammengebaut. Aber das Fenster wird nur aufgebaut ohne Inhalt oder Titel. Wenn ich den Pfad durch File:... angebe (siehe auskopmmentiert), dann klappt alles.
Woran kann das liegen? Komme mit Debugger auch nicht drauf.
beim Stöbern durch das weltweite Netz habe ich folgenden Code gefunden, um eine .htm-Datei aufzurufen und anzeigen zu lassen. Da ich gerne zu meinem Programm eine kleine Hilfe anzeigen lassen will, wollte ich es einbauen. Da sehr wahrscheinlich ein anderer Anwender seine Verzeichnisstruktur anders aufgebaut hat, als ich, möchte ich erreichen, dass der Ort der Hilfe-Datei "dynamisch" ermittelt wird.
Ich habe dies über System.getProperty("user.dir") probiert. Der Pfad wird richtig zusammengebaut. Aber das Fenster wird nur aufgebaut ohne Inhalt oder Titel. Wenn ich den Pfad durch File:... angebe (siehe auskopmmentiert), dann klappt alles.
Woran kann das liegen? Komme mit Debugger auch nicht drauf.
Code:
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.net.*;
public class help extends JFrame implements HyperlinkListener
{
JEditorPane htmlPane;
help( String url )
{
htmlPane = new JEditorPane();
htmlPane.setEditable( false );
htmlPane.addHyperlinkListener( this );
JScrollPane scrollPane = new JScrollPane( htmlPane );
getContentPane().add( scrollPane );
try
{
hyperlinkUpdate( new HyperlinkEvent(this,
HyperlinkEvent.EventType.ACTIVATED,
new URL(url) ) );
}
catch ( MalformedURLException e ) {}
setSize(180,130);
setIconImage(new ImageIcon("xyz.gif").getImage());
setVisible(true);
}
public void hyperlinkUpdate( HyperlinkEvent event )
{
HyperlinkEvent.EventType typ = event.getEventType();
if ( typ == HyperlinkEvent.EventType.ACTIVATED )
{
try
{
setTitle("Help");
htmlPane.setPage( event.getURL() );
}
catch( IOException e ) {
JOptionPane.showMessageDialog( this,
"Can’t follow link to "
+ event.getURL().toExternalForm(),
"Error",
JOptionPane.ERROR_MESSAGE );
}
}
}
public static void main( String args[] )
{
// Klappt nicht
String helpFile = System.getProperty("user.dir") + "\\help.htm";
System.out.println(helpFile);
new help(helpFile);
// Klappt
// new help( "file:\\D:\\x\\y\\z\\help.htm" );
}
}