Загрузите HTML-код набора фреймов из памяти в браузер Java SWT - PullRequest
1 голос
/ 26 августа 2011

У меня есть простой редактор HTML, написанный с помощью SWT, и это управление браузером. Я хотел бы знать, есть ли способ загрузить код для страниц фрейма HTML из памяти, не сохраняя файл html на жестком диске?

Ответы [ 2 ]

1 голос
/ 11 июля 2012

Добавьте одну строку в памяти HTML.

Например, предположим, что ваши файлы page1.html и т. Д. Расположены на вашем локальном компьютере по адресу C:/myHTML, затем вам нужно добавить это в свой файл.в памяти HTML-строка, как показано ниже,

String html="<HTML><HEAD><TITLE>HTML Test</TITLE>"
            +"<BASE href=\"file:///C:myHTML\\/\" >"
            +"<HEAD>"
            +"<BODY><A src=\"page1.html\">Page1</A></BODY></HTML>"

Это работает для меня на Win 7.

1 голос
/ 26 августа 2011

Код, который вы ищете, является одним из фрагментов виджета SWT Browser.См. рендеринг HTML из памяти .

import org.eclipse.swt.*;
import org.eclipse.swt.browser.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;

public class Snippet136 {
    public static void main(String [] args) {
        String html = "<HTML><HEAD><TITLE>HTML Test</TITLE></HEAD><BODY>";
        for (int i = 0; i < 100; i++) html += "<P>This is line "+i+"</P>";
        html += "</BODY></HTML>";

        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setLayout(new FillLayout());
        Browser browser;
        try {
            browser = new Browser(shell, SWT.NONE);
        } catch (SWTError e) {
            System.out.println("Could not instantiate Browser: " + e.getMessage());
            display.dispose();
            return;
        }
        browser.setText(html);
        shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch())
                display.sleep();
        }
        display.dispose();
    }
}

Существует несколько других фрагментов, которые могут оказаться полезными для вас. Проверьте Фрагменты виджета SWT-браузера .

...