Avatar billede tommer Nybegynder
09. november 2002 - 16:45 Der er 3 kommentarer og
1 løsning

html i JEditorPane

jeg læser en html side ind i en JEditorPane, det går fint men jeg kan ikke få det til at virke hvis den side der læses ind er et frameset.....
kan man det ???
Avatar billede Slettet bruger
09. november 2002 - 16:54 #1
Det kan være jeg gætter forkert her, men er du ved at lave en online WUSIWUG HTML Editor? Og i så fald kender du http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnaredcom/html/edcomdownload.asp

?
Avatar billede tommer Nybegynder
09. november 2002 - 16:58 #2
det er ikke lige det....
her kommer lidt af det jeg har lavet:
import javax.swing.*;
import java.awt.*;
import java.net.URL;
import java.net.MalformedURLException;
import java.io.*;
import javax.swing.text.*;
import javax.swing.event.*;
class Html_Panel extends JScrollPane implements HyperlinkListener
{
    private JEditorPane html;
    private File f;
        public Html_Panel(String filename) {
    try {
        f = new File (filename);
        String s = f.getAbsolutePath();
        s = "file:"+s;
        URL url = new URL(s);
        html = new JEditorPane(s);
        html.setEditable(false);
        html.addHyperlinkListener(this);
        JViewport vp = getViewport();
        vp.add(html);
    } catch (MalformedURLException e) {
        System.out.println("Malformed URL: " + e);
    } catch (IOException e) {
        System.out.println("IOException: " + e);
    }   
    }

    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 HentSide(u, c,html));
    }


}
Avatar billede carstenknudsen Nybegynder
09. november 2002 - 18:45 #3
Her er lidt kode jeg bruger for at få frames til at virke
i JEditorPane:

    public void hyperlinkUpdate( HyperlinkEvent e ) {
        HyperlinkEvent.EventType type = e.getEventType();
        if ( type == HyperlinkEvent.EventType.ACTIVATED ) {
        JEditorPane pane = (JEditorPane)e.getSource();
        if ( e instanceof HTMLFrameHyperlinkEvent ) { // SE HER!
            HTMLFrameHyperlinkEvent  evt = (HTMLFrameHyperlinkEvent)e;
            HTMLDocument doc = (HTMLDocument)pane.getDocument();
            doc.processHTMLFrameHyperlinkEvent( evt );
                } // if
                else {
// Det er et normalt link der er trykket på
                } // else
        }
  // her har du de øvrige metoder i hyperlinklisteneren
Avatar billede tommer Nybegynder
12. november 2002 - 04:38 #4
takker ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester