t)
执行特定的脚本
boolean forward()
当前的会话前进到历史上下一个页面
void refresh()
刷新显示当前的界面
setText(String html)
显示特定的 HTML 内容
setUrl(String url)
显示特定的网页内容,传入的参数是网页的地址
Java网页浏览器组件介绍(6)
时间:2011-10-16 IBM 王凯迪
使用 Browser 类
以下的代码演示了如何使用 SWT 中的 Browser 类:
SWT 的 Browser 类 demo
package org.dakiler.browsers;
import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class SWTBrowserTest
{
public static void main(String args[])
{
Display display=new Display();
Shell shell=new Shell(display);
shell.setText("SWT Browser Test");
shell.setSize(800,600);
final Text text=new Text(shell,SWT.BORDER);
text.setBounds(110,5,560,25);
Button button=new Button(shell,SWT.BORDER);
button.setBounds(680,5,100,25);
button.setText("go");
Label label=new Label(shell,SWT.LEFT);
label.setText("输入网址 :");
label.setBounds(5, 5, 100, 25);
final Browser browser=new Browser(shell,SWT.FILL);
browser.setBounds(5,30,780,560);
button.addListener(SWT.Selection, new Listener()
{
public void handleEvent(Event event)
{
String input=text.getText().trim();
if(input.length()==0)return;
if(!input.startsWith("http://"))
{
input="http://"+input;
text.setText(input);
}
browser.setUrl(input);
}
});
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
结束语
本文介绍了四种在 Java 图形界面中显示 HTML 或者特定网页的方法,包括 Swing 中的 JEditorPane 组件、Lobo 浏览器的实现、JDICplus 以及 SWT 的 Browser 组件。
对于熟练使用 SWT 的 Java 开发者来说,使用 SWT 中的浏览器组件是一个很好的选择。如果是对于 使用 Swing 的程序员来说,如果仅仅是显示不太复杂的 HTML,JEditorPane 就可以胜任了;如果不需要 考虑到软件的可移植性,只需要在 Windows 下运行,那么使用 JDICplus 的浏览器组件是一个很好的选 择;如果需要考虑可移植性,可以考虑使用 Lobo 浏览器。
本文配套源码
|