我有一个用SWT编写的简单html编辑器和它的浏览器控件。我想知道是否有办法从内存加载html框架页面的代码,而不保存hdd上的html文件?
答案 0 :(得分:1)
您正在寻找的代码是SWT Browser小部件片段之一。请参阅render HTML from memory。
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 Browser's widget snippets。
答案 1 :(得分:1)
在内存中添加一行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。