在JAVA怎样在一个窗口中打开IE浏览器啊? 我想在一个JAVA编写的窗口中,打开一个网页!能这样吗?就像KuGoo那样在一个窗口可以进行网页浏览!请各位帮帮忙! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public openFile(String file) { try{ Runtime rt=Runtime.getRuntime(); rt.exec(file); } catch(Exception e) { } } 下面这个链接是一个java实现的浏览器,应该能满足你的要求,你自己修改一下http://www.80diy.com/home/default.aspx?q=20021212/11/1254104.html package demo;import java.util.Properties;import java.io.IOException;public class OpenIExplore{ public static void main(String[] args) throws IOException{ Properties properties = System.getProperties(); String osName = properties.getProperty("os.name"); System.out.println (osName); if (osName.indexOf("Linux") != -1) { Runtime.getRuntime().exec("htmlview"); } else if (osName.indexOf("Windows") != -1){ Runtime.getRuntime().exec("explorer http://www.163.com"); } else { throw new RuntimeException("Unknown OS."); } }} LZ可以使用swt中的Browser类实现在自己编写的窗体内实现浏览器的功能import org.eclipse.swt.SWT;import org.eclipse.swt.browser.Browser;import org.eclipse.swt.browser.LocationEvent;import org.eclipse.swt.browser.LocationListener;import org.eclipse.swt.browser.ProgressEvent;import org.eclipse.swt.browser.ProgressListener;import org.eclipse.swt.layout.GridData;import org.eclipse.swt.layout.GridLayout;import org.eclipse.swt.widgets.Composite;import org.eclipse.swt.widgets.Event;import org.eclipse.swt.widgets.Listener;import org.eclipse.swt.widgets.Text;import org.eclipse.swt.widgets.ToolBar;import org.eclipse.swt.widgets.ToolItem;/** * 浏览器类 */public class InnerBrowser { private Composite composite; // SWT 浏览器对象 private Browser browser; // 工具栏 private ToolBar toolbar; // 后退按钮 private ToolItem backItem; // 前进按钮 private ToolItem forwardItem; // 停止按钮 private ToolItem stopButton; // 刷新按钮 private ToolItem refreshButton; // 地址栏 private Text locationText; /** 构造方法 */ public InnerBrowser(Composite parent) { this.composite = parent; } // 初始化浏览器对象 private void initBrowser() { browser = new Browser(composite, SWT.BORDER); GridData gridData = new GridData(); gridData.horizontalSpan = 6; gridData.horizontalAlignment = GridData.FILL; gridData.verticalAlignment = GridData.FILL; gridData.grabExcessVerticalSpace = true; // 浏览器布局 browser.setLayoutData(gridData); // 为浏览器地址改变注册事件 browser.addLocationListener(new LocationListener() { public void changing(LocationEvent e) { locationText.setText(e.location); } public void changed(LocationEvent event) { } }); // 为浏览器注册装载网页事件 browser.addProgressListener(new ProgressListener() { // 当装载时,设置停止按钮可用 @Override public void changed(ProgressEvent e) { if (!stopButton.isEnabled() && e.total != e.current) stopButton.setEnabled(true); } // 当装载完成时, 设置停止、后退、前进按钮状态 @Override public void completed(ProgressEvent event) { stopButton.setEnabled(false); backItem.setEnabled(browser.isBackEnabled()); forwardItem.setEnabled(browser.isForwardEnabled()); } }); } // 创建浏览器窗口 public void createBrowser() { // composite 布局 GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 6; composite.setLayout(gridLayout); // 工具栏 toolbar = new ToolBar(composite, SWT.FLAT); toolbar.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); // 退回到访问历史的上一次地址 backItem = new ToolItem(toolbar, SWT.PUSH); backItem.setImage(CacheImage.getINSTANCE().getImage( IImageKey.BACKWARD)); backItem.setToolTipText("转到上一页"); // 前进到访问历史的前一次 forwardItem = new ToolItem(toolbar, SWT.PUSH); forwardItem.setImage(CacheImage.getINSTANCE().getImage( IImageKey.FROWARD)); forwardItem.setToolTipText("转到下一页"); // 设置前进和后退为不可用状态 backItem.setEnabled(false); forwardItem.setEnabled(false); // 停止加载页面 stopButton = new ToolItem(toolbar, SWT.PUSH); stopButton.setImage(CacheImage.getINSTANCE().getImage(IImageKey.STOP)); // 刷新页面 refreshButton = new ToolItem(toolbar, SWT.PUSH); refreshButton.setImage(CacheImage.getINSTANCE().getImage( IImageKey.REFRESH)); refreshButton.setToolTipText("刷新"); // 地址栏 locationText = new Text(composite, SWT.BORDER); locationText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); locationText.addListener(SWT.DefaultSelection, new Listener() { public void handleEvent(Event e) { browser.setUrl(locationText.getText()); browser.setFocus(); } }); initBrowser(); // 注册显示地址的文本框事件 locationText .addMouseListener(new org.eclipse.swt.events.MouseAdapter() { public void mouseUp(org.eclipse.swt.events.MouseEvent e) { locationText.selectAll(); } }); locationText.addKeyListener(new org.eclipse.swt.events.KeyAdapter() { public void keyPressed(org.eclipse.swt.events.KeyEvent e) { // Handle the press of the Enter key in the locationText. // This will browse to the entered text. if (e.character == SWT.LF || e.character == SWT.CR) { e.doit = false; browser.setUrl(locationText.getText()); } } }); refreshButton .addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() { public void widgetSelected( org.eclipse.swt.events.SelectionEvent e) { browser.refresh();// 重新载入 } }); locationText .addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() { public void widgetSelected( org.eclipse.swt.events.SelectionEvent e) { browser.setUrl(locationText.getText());// 设置浏览器的指向的url } }); stopButton .addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() { public void widgetSelected( org.eclipse.swt.events.SelectionEvent e) { browser.stop();// 停止装载网页 } }); backItem .addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() { public void widgetSelected( org.eclipse.swt.events.SelectionEvent e) { browser.back();// 后退 } }); forwardItem .addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() { public void widgetSelected( org.eclipse.swt.events.SelectionEvent e) { browser.forward();// 前进 } }); } // 返回地址栏调用 public Text getLocationText() { return locationText; }}如果想调用系统的默认浏览器可以参考下面的代码:public class TestDesktopBrowser { /** * @param args * @throws URISyntaxException * @throws IOException */ public static void main(String[] args) throws IOException, URISyntaxException { if (Desktop.isDesktopSupported()){ Desktop desktop = Desktop.getDesktop(); desktop.browse(new URI("http://www.baidu.com")); desktop.mail(); } else { System.out.println("系统不支持Desktop"); } }} swing 页面跳转问题 求助 scoket丢包的问题 java判断文本末尾的回车符 如何在表格中加入JButton对象和为什么下面简短代码并不能显示columnNames数组的内容 关于字符串正则替换的不包含问题 新手上路,向大家请教个问题 求助!!!!!!!! 如何使用Swing 实现画图功能,需要在什么容器上? [公告]撤销sharetop的版主职务 请问用jdk里的函数如何从键盘输入字符串? java.lang.OutOfMemoryError 关于布局管理器,头痛啊!!!!
public openFile(String file)
{
try{
Runtime rt=Runtime.getRuntime();
rt.exec(file);
}
catch(Exception e)
{
}
}
http://www.80diy.com/home/default.aspx?q=20021212/11/1254104.html
package demo;import java.util.Properties;
import java.io.IOException;public class OpenIExplore{ public static void main(String[] args) throws IOException{
Properties properties = System.getProperties();
String osName = properties.getProperty("os.name");
System.out.println (osName);
if (osName.indexOf("Linux") != -1) {
Runtime.getRuntime().exec("htmlview");
} else if (osName.indexOf("Windows") != -1){
Runtime.getRuntime().exec("explorer http://www.163.com");
} else {
throw new RuntimeException("Unknown OS.");
}
}
}
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.browser.LocationEvent;
import org.eclipse.swt.browser.LocationListener;
import org.eclipse.swt.browser.ProgressEvent;
import org.eclipse.swt.browser.ProgressListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;/**
* 浏览器类
*/
public class InnerBrowser { private Composite composite;
// SWT 浏览器对象
private Browser browser;
// 工具栏
private ToolBar toolbar;
// 后退按钮
private ToolItem backItem;
// 前进按钮
private ToolItem forwardItem;
// 停止按钮
private ToolItem stopButton;
// 刷新按钮
private ToolItem refreshButton;
// 地址栏
private Text locationText; /** 构造方法 */
public InnerBrowser(Composite parent) {
this.composite = parent;
}
// 初始化浏览器对象
private void initBrowser() {
browser = new Browser(composite, SWT.BORDER);
GridData gridData = new GridData();
gridData.horizontalSpan = 6;
gridData.horizontalAlignment = GridData.FILL;
gridData.verticalAlignment = GridData.FILL;
gridData.grabExcessVerticalSpace = true;
// 浏览器布局
browser.setLayoutData(gridData); // 为浏览器地址改变注册事件
browser.addLocationListener(new LocationListener() {
public void changing(LocationEvent e) {
locationText.setText(e.location);
} public void changed(LocationEvent event) {
}
}); // 为浏览器注册装载网页事件
browser.addProgressListener(new ProgressListener() { // 当装载时,设置停止按钮可用
@Override
public void changed(ProgressEvent e) {
if (!stopButton.isEnabled() && e.total != e.current)
stopButton.setEnabled(true);
} // 当装载完成时, 设置停止、后退、前进按钮状态
@Override
public void completed(ProgressEvent event) {
stopButton.setEnabled(false);
backItem.setEnabled(browser.isBackEnabled());
forwardItem.setEnabled(browser.isForwardEnabled());
}
});
}
// 创建浏览器窗口
public void createBrowser() {
// composite 布局
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 6;
composite.setLayout(gridLayout);
// 工具栏
toolbar = new ToolBar(composite, SWT.FLAT);
toolbar.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
// 退回到访问历史的上一次地址
backItem = new ToolItem(toolbar, SWT.PUSH);
backItem.setImage(CacheImage.getINSTANCE().getImage(
IImageKey.BACKWARD));
backItem.setToolTipText("转到上一页");
// 前进到访问历史的前一次
forwardItem = new ToolItem(toolbar, SWT.PUSH);
forwardItem.setImage(CacheImage.getINSTANCE().getImage(
IImageKey.FROWARD));
forwardItem.setToolTipText("转到下一页");
// 设置前进和后退为不可用状态
backItem.setEnabled(false);
forwardItem.setEnabled(false);
// 停止加载页面
stopButton = new ToolItem(toolbar, SWT.PUSH);
stopButton.setImage(CacheImage.getINSTANCE().getImage(IImageKey.STOP));
// 刷新页面
refreshButton = new ToolItem(toolbar, SWT.PUSH);
refreshButton.setImage(CacheImage.getINSTANCE().getImage(
IImageKey.REFRESH));
refreshButton.setToolTipText("刷新");
// 地址栏
locationText = new Text(composite, SWT.BORDER);
locationText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
locationText.addListener(SWT.DefaultSelection, new Listener() {
public void handleEvent(Event e) {
browser.setUrl(locationText.getText());
browser.setFocus();
}
});
initBrowser(); // 注册显示地址的文本框事件
locationText
.addMouseListener(new org.eclipse.swt.events.MouseAdapter() {
public void mouseUp(org.eclipse.swt.events.MouseEvent e) {
locationText.selectAll();
}
});
locationText.addKeyListener(new org.eclipse.swt.events.KeyAdapter() {
public void keyPressed(org.eclipse.swt.events.KeyEvent e) {
// Handle the press of the Enter key in the locationText.
// This will browse to the entered text.
if (e.character == SWT.LF || e.character == SWT.CR) {
e.doit = false;
browser.setUrl(locationText.getText());
}
}
});
refreshButton
.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(
org.eclipse.swt.events.SelectionEvent e) {
browser.refresh();// 重新载入
}
});
locationText
.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(
org.eclipse.swt.events.SelectionEvent e) {
browser.setUrl(locationText.getText());// 设置浏览器的指向的url
}
});
stopButton
.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(
org.eclipse.swt.events.SelectionEvent e) {
browser.stop();// 停止装载网页
}
});
backItem
.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(
org.eclipse.swt.events.SelectionEvent e) {
browser.back();// 后退
}
});
forwardItem
.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(
org.eclipse.swt.events.SelectionEvent e) {
browser.forward();// 前进
}
}); } // 返回地址栏调用
public Text getLocationText() {
return locationText;
}
}如果想调用系统的默认浏览器可以参考下面的代码:
public class TestDesktopBrowser { /**
* @param args
* @throws URISyntaxException
* @throws IOException
*/
public static void main(String[] args) throws IOException, URISyntaxException {
if (Desktop.isDesktopSupported()){
Desktop desktop = Desktop.getDesktop();
desktop.browse(new URI("http://www.baidu.com"));
desktop.mail();
} else {
System.out.println("系统不支持Desktop");
}
}}