方式一:用jdic开源组件,这种方式有个缺点,不支持firefox,如果把默认浏览器设为firefox就会出错
具体代码如下:
import java.awt.BorderLayout;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.JFrame;
import javax.swing.JPanel;
import org.jdesktop.jdic.browser.WebBrowser;
import org.jdesktop.jdic.browser.WebBrowserEvent;
import org.jdesktop.jdic.browser.WebBrowserListener;
/**
*TODO java 嵌入浏览器
*date:Oct 21, 2009
*time:10:34:09 AM
*author:Administrator
*email:jxauwxj@126.com
*/
public class MainFrame extends JFrame{
private WebBrowser webBrowser;
private JPanel jPanel;
private String url;
public MainFrame(String name,String url){
super(name);
this.url = url;
init();
//关闭
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void init(){
//隐藏JFrame的标题栏,必须在显示之前调用,否则就会抛出异常
//this.setUndecorated(true);
webBrowser = new WebBrowser();
//注册各种侦听器
webBrowser.addWebBrowserListener(
new WebBrowserListener() {
public void downloadStarted(WebBrowserEvent event) {;}
public void downloadCompleted(WebBrowserEvent event) {;}
public void downloadProgress(WebBrowserEvent event) {;}
public void downloadError(WebBrowserEvent event) {;}
public void documentCompleted(WebBrowserEvent event) {;}
public void titleChange(WebBrowserEvent event) {;}
public void statusTextChange(WebBrowserEvent event) {;}
public void windowClose(WebBrowserEvent webBrowserEvent) {
}
});
//打开某个网页
try {
webBrowser.setURL(new URL(url));
} catch (MalformedURLException e) {
System.out.println(e.getMessage());
return;
}
jPanel = new JPanel();
jPanel.setLayout(new BorderLayout());
jPanel.add(webBrowser, BorderLayout.CENTER);
this.getContentPane().add(jPanel, BorderLayout.CENTER);
this.pack();
//全屏
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
//this.setSize(500,500);
this.setVisible(true);
}
public static void main(String[] args){
String url = "http://...";
new MainFrame("电信营业厅缴费终端",url);
}
}
方式二:用 DJ Native Swing 组件(http://djproject.sourceforge.net/ns/index.html),支持firefox
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import chrriis.common.UIUtils;
import chrriis.dj.nativeswing.swtimpl.NativeInterface;
import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;
public class EagleBrowser extends JPanel {
private JPanel webBrowserPanel;
private JWebBrowser webBrowser;
private String url;
public EagleBrowser(String url) {
super(new BorderLayout());
this.url = url;
webBrowserPanel = new JPanel(new BorderLayout());
webBrowser = new JWebBrowser();
webBrowser.navigate(url);
webBrowser.setButtonBarVisible(false);
webBrowser.setMenuBarVisible(false);
webBrowser.setBarsVisible(false);
webBrowser.setStatusBarVisible(false);
webBrowserPanel.add(webBrowser, BorderLayout.CENTER);
add(webBrowserPanel, BorderLayout.CENTER);
}
public static void main(String[] args) {
final String url = "http://";
final String title = "电信营业厅缴费终端";
UIUtils.setPreferredLookAndFeel();
NativeInterface.open();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame(title);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new EagleBrowser(url), BorderLayout.CENTER);
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setLocationByPlatform(true);
//frame.setUndecorated(true);
frame.setVisible(true);
}
});
NativeInterface.runEventPump();
}
}
分享到:
相关推荐
通过SWT,我们可以方便地在Java应用中集成其他原生组件,比如在这个案例中的Web浏览器控件。 在本示例中,开发者可能使用了DJnative-SWT提供的API来创建一个Swing组件,该组件能够内嵌WebKit浏览器引擎。这通常涉及...
总之,Java GUI中嵌入浏览器页面主要依赖于如JDIC这样的库,通过它们提供的组件可以直接在Java应用中显示和操作网页。然而,随着技术的进步,开发者应当关注并评估更适合当前需求的解决方案,以确保应用的性能和兼容...
"嵌入浏览器"是指将Web浏览器的功能集成到这个Java应用中,允许用户在应用内部浏览网页。Eclipse工程则表明这个示例是在Eclipse IDE中构建的,这是一个广泛使用的Java开发工具,提供了项目管理、编辑、调试等功能。 ...
Java嵌入谷歌内核简单浏览器是一种技术实现,它允许开发者在Java应用程序中集成谷歌的Chromium Embedded Framework(CEF),从而创建具有现代Web浏览功能的应用。CEF是一个开源项目,它为各种编程语言提供了一个轻量...
1. **多平台支持**:JxBrowser可以在Windows、macOS和Linux上运行,使Java应用程序具备跨平台的浏览器功能。 2. **高性能渲染**:基于Chromium,提供与Google Chrome相似的页面渲染速度和效果。 3. **API接口**:...
Java版浏览器是基于JDIC库开发的,JDIC是一个Java平台上的桌面集成组件,它提供了对Web浏览器功能的封装,使得Java开发者能够方便地在Java应用程序中嵌入浏览器功能。这个浏览器项目实现了基本的浏览网页、导航、...
Java嵌入浏览器技术是将一个完整的网页浏览功能集成到Java应用程序中的方法,使得开发者可以在Java应用内部展示网页、实现Web应用交互。JxBrowser是一款专为此目的设计的库,它提供了一个API,允许Java开发者轻松地...
这篇博客文章“在SWING、SWT中嵌入浏览器”就探讨了如何在Java应用中实现这一功能。 首先,SWING是Java Foundation Classes (JFC)的一部分,提供了丰富的组件和布局管理器来构建复杂的用户界面。尽管SWING本身并不...
在浏览器中,你需要设计一个窗口,包含地址栏、前进/后退按钮、刷新按钮、书签等功能。使用JFrame作为主窗口,JPanel存放网页内容,JTextField用于输入URL,JButton实现按钮功能。 5. **渲染HTML**:解析HTML后,...
Java 嵌入浏览器资源包是一种技术,允许开发者在 Java 应用程序中集成Web浏览功能,以便在桌面应用中展示网页内容或者实现基于Web的交互。2017年的最新版应该指的是那个时期的稳定版本,它支持64位操作系统,意味着...
这个项目的特色在于它将火狐的浏览能力整合到Java应用程序中,使得用户能够在不离开主应用的情况下访问网页内容。 火狐内核,也称为Gecko,是Mozilla Firefox浏览器背后的渲染引擎。它负责解析HTML、CSS、...
这是一个基于Java的轻量级浏览器引擎,允许在Java应用程序中嵌入浏览器功能。在Java中,JWebBrowser是由DJ Project提供的,它支持HTML5、CSS3、JavaScript等现代网页技术,并提供了API来控制网页加载、导航、执行...
在Java程序中嵌入Internet Explorer(IE)是一种常见的需求,特别是在需要在应用程序内部展示网页内容或者与Web服务交互时。...通过这些步骤,开发者可以创建一个包含内嵌IE浏览器的Java应用程序,实现与Web的交互。
在某些情况下,开发者可能需要在Java应用中集成一个浏览器组件,以便展示网页内容或者实现一些Web相关的功能。这就是"Java Swing 内嵌浏览器"的概念。在Java中实现内嵌浏览器,通常会借助第三方库,如DJNativeSwing-...
Java CEF,全称为“Java Chromium Embedded Framework”,是基于Chromium开源项目开发的一个库,它允许开发者在Java应用中嵌入高性能的Web浏览器组件。Chromium是Google Chrome浏览器的基础,因此,通过Java CEF,...
在Java编程中,Swing库提供了丰富的组件来创建桌面应用程序,但默认情况下它不支持直接显示HTML内容。然而,通过引入第三方库,如DJ Native Swing,我们可以实现在Swing应用中嵌入HTML的功能,这对于创建复杂的用户...
在我们的例子中,我们可以使用JDIC的`Browser`类来在JFrame中嵌入一个Web视图,这样就可以将HTML登录页面加载到Java应用程序中,给用户带来类似Web应用的体验。 3. **加载Web页面**:通过JDIC,我们可以使用`...
首先,CEF是由Google Chrome团队维护的开源项目,它提供了C++的API,用于在各种应用程序中嵌入Web内容。要将其与Java结合,我们需要一个Java绑定层,这通常通过JNI(Java Native Interface)来实现。JNI允许Java代码...
JxBrowser是一款基于Chromium内核的Java库,它允许开发者在Java应用程序中嵌入浏览器功能,无需依赖外部浏览器进程。JxBrowser 7.5的发布,为开发者带来了更稳定、高效和安全的浏览器体验。通过这个压缩包...
首先,Java小程序(Applet)是一种特殊类型的Java应用程序,它通常嵌入在HTML文件中并在网络浏览器内运行,无需用户下载安装。用户可以直接在浏览器中查看和使用Applet,而无需离开当前的网络页面。Applet的超类必须...