G
Guest
Gast
Hi,
ich habe ein kleines Problem:
Ich möchte HTML darstellen, inkl. aktiven Links.
Allerdings verstehe ich nicht, warum das HTML bei mir nicht angezeigt wird.
Könnt ihr mir ein paar Tips geben?
Vielen Dank
ich habe ein kleines Problem:
Ich möchte HTML darstellen, inkl. aktiven Links.
Allerdings verstehe ich nicht, warum das HTML bei mir nicht angezeigt wird.
Könnt ihr mir ein paar Tips geben?
Code:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
import java.net.*;
import java.util.Vector;
/**
* This class brings a simple browser to view HTML-files and handle links.
*/
public class HelpBrowser extends JEditorPane implements HyperlinkListener
{
protected static JFrame frame;
protected JButton backButton = new JButton("Back");
protected JButton forwardButton = new JButton("Forward");
protected JButton homeButton = new JButton("Home");
protected JButton closeButton = new JButton("Close");
protected Vector<String> clickedLinksVector = new Vector<String>();
private JScrollPane htmlPane = new JScrollPane();
HelpBrowser(JFrame frameBrowser_)
{
frame = frameBrowser_;
}
/*
* Create HelpBrowser-Pane
*/
public static void createHelpBrowser()
{
// Create a new JFrame.
JFrame f = new JFrame("Help");
HelpBrowser helpBrowser = new HelpBrowser(f);
// Add components to the frame.
f.getContentPane().add(helpBrowser.createComponents());
// Display the frame.
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setSize(800, 800 );
f.setVisible(true);
}
public JComponent createComponents()
{
// Create a panel and add the button, status label and the SVG canvas.
final JPanel panel = new JPanel(new BorderLayout());
final JPanel p = new JPanel(new FlowLayout(FlowLayout.LEFT));
p.add(backButton);
// backButton.setEnabled(false);
p.add(forwardButton);
// forwardButton.setEnabled(false);
p.add(homeButton);
p.add(closeButton);
panel.add("North", p);
panel.add("Center", htmlPane);
try {
panel.add(new JScrollPane(new HelpBrowser(null)));
setEditable(false);
addHyperlinkListener(this);
setPage((new URL((new File("documentation\\index.html").toURL()).toString())));
} catch ( IOException e ) { e.printStackTrace(); }
panel.setVisible(true);
//Set the backButton action.
backButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.out.println("Help - backward");
for(int i = 0; i<clickedLinksVector.size(); i++)
System.out.println(clickedLinksVector.get(i));
}
});
//Set the forwardButton action.
forwardButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.out.println("Help - forward");
}
});
//Set the homeButton action.
homeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
try {
setPage((new URL((new File("documentation\\index.html").toURL()).toString())));
} catch ( IOException e ) {
JOptionPane.showMessageDialog( panel,
"Sorry, can't follow link to home...",
"Error",
JOptionPane.ERROR_MESSAGE);
}
}
});
//Set the closeButton action.
closeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.out.println("Help - Close");
}
});
return panel;
}
/*
* Implement HyperlinkEvent to navigate with active hyperlinks in HTML
*/
public void hyperlinkUpdate(HyperlinkEvent event ) {
HyperlinkEvent.EventType typ = event.getEventType();
if (typ == HyperlinkEvent.EventType.ACTIVATED ) {
try {
setPage( event.getURL() );
System.out.println((event.getURL()).toString());
clickedLinksVector.add((event.getURL()).toString());
} catch( IOException e ) {
JOptionPane.showMessageDialog( this,
"Can't follow link to "
+ event.getURL().toExternalForm(),
"Error",
JOptionPane.ERROR_MESSAGE);
}
}
}
public static void main(String[] args) {
createHelpBrowser();
}
}
Vielen Dank