`
ljl_xyf
  • 浏览: 636497 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java swing 内置浏览器打开网页显示flash图表-swt Browser应用

    博客分类:
  • java
阅读更多

今天在网上找了好久如何用在java swing打开网页,从而实现显示网页图表的效果,功夫不负有心人,终于搞定了,下面把所用的类和swt.jar整理了一下,方便有需要的朋友使用。

 

用到的swt.jar下载

 

调用网页的Browser要结合现有的java控件使用,一下是结合panel定义的类(SWTPane.java):

 

 

 

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package desktopapplicationmenu.comm;

import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Panel;
import org.eclipse.swt.SWT;
import org.eclipse.swt.awt.SWT_AWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.layout.FillLayout;

import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

/**
 *
 * @author liujl
 */
public class SWTPane extends Panel {

    DisplayThread displayThread;
    private Canvas canvas;

    public SWTPane() {
        displayThread = new DisplayThread();
        displayThread.start();
        canvas = new Canvas();
        setLayout(new BorderLayout());
        add(canvas, BorderLayout.CENTER);
    }
 public static void main(String args[]) throws Exception {

     java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new SWTPane().setVisible(true);
            }
        });
     
 }
    public void addNotify() {
        super.addNotify();
        Display dis = displayThread.getDisplay();
        dis.syncExec(new Runnable() {

            public void run() {
                Shell shell = SWT_AWT.new_Shell(displayThread.getDisplay(), canvas);
                shell.setLayout(new FillLayout());
                final Browser browser = new Browser(shell, SWT.NONE);
                browser.setLayoutData(BorderLayout.CENTER);
                browser.setUrl("http://www.my400800.cn");
            }
        });
    }
}
 

 

里面为了防止在打开网页的时候出现错误,封装了一下Thread类,定义如下(DisplayThread.java):

 

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package desktopapplicationmenu.comm;

import org.eclipse.swt.widgets.Display;

/**
 *
 * @author liul
 */
public class DisplayThread extends Thread {

    private Display display;
    Object sem = new Object();

    public void run() {
        synchronized (sem) {
            display = Display.getDefault();
            sem.notifyAll();
        }
        swtEventLoop();
    }

    private void swtEventLoop() {
        while (true) {
            if (!display.readAndDispatch()) {
                display.sleep();
            }
        }
    }

    public Display getDisplay() {
        try {
            synchronized (sem) {
                while (display == null) {
                    sem.wait();
                }
                return display;
            }
        } catch (Exception e) {
            return null;
        }
    }
}
 

 

调用方法

        SWTPane jbtn_Sel = new SWTPane();
        jPanel1.add(jbtn_Sel);
        jbtn_Sel.setBounds(1, 1, 600, 600);

 

分享到:
评论
3 楼 whatable 2012-08-06  
唉,楼主你都没有搞清楚重量级和轻量级。。。。既然引用了SWT,那你还用SWING做神马。。。。
2 楼 lerous 2011-08-27  
LZ可以把代码给我发一份吗?(305425546#qq.com)#换成@
我下载不下来。
谢谢
1 楼 longrm 2011-07-12  
没用呢,没显示出来啊

相关推荐

    Java-Swing嵌入浏览器(本地浏览器和webkit浏览器-火狐内核)

    3. **设置浏览器容器**:将`Browser`实例放入Swing的容器,如`JPanel`或`JSplitPane`,以在Swing应用中显示。 4. **加载网页**:调用`Browser`对象的`setUrl()`方法,传入你要加载的网页URL。 5. **事件处理**:...

    swt源码和jar包dj-native-swing-swt.jar

    在标签中,"java图形化"指的是使用Java进行GUI编程,"java开发浏览器"可能是指使用SWT可以创建出类似于浏览器的界面,比如Web浏览器控件,允许在Java应用中显示网页。"dj-native-swing"是前面提到的结合Swing和SWT的...

    DJNativeSwing-SWT组件-Java GUI中内嵌浏览器相关JAR包

    这个库的目标是提供一种方式,使得Java应用程序能够利用操作系统内置的Web浏览器引擎来显示网页内容,而不仅仅是依赖于JavaFX或者早期的Java Web Start技术。 DJNativeSwing库主要由两部分组成:DJNativeSwing和...

    java实现内置浏览器

    Java实现内置浏览器是一种技术实践,它允许开发者在Java应用程序中集成一个Web浏览器组件,使得用户可以在应用程序内部浏览网页,提供类似桌面应用的体验。这种方式通常使用JavaFX或Swing库来构建用户界面,并通过...

    java swing 内嵌浏览器

    总之,Java Swing内嵌浏览器通过第三方库如DJNativeSwing-SWT,可以方便地在Java桌面应用中嵌入一个功能完备且与操作系统紧密集成的浏览器,这极大地扩展了Java Swing应用的功能和交互可能性。在实际开发中,理解和...

    DJNativeSwing-SWT1.0.2

    DJNativeSwing-SWT使得在Java Swing应用中嵌入复杂的组件如浏览器、Flash和ISO视图变得轻而易举。 首先,我们需要了解Swing和SWT的区别。Swing是Java标准库的一部分,提供了一套完全由Java代码实现的GUI组件,具有...

    各ui框架下的Java浏览器(包含swt的浏览器,javafx的浏览器,swing的浏览器),支持Flash

    Java自制浏览器,支持Flash,各个版本的ui框架都有,具备所有IE内核具备的功能,拓展功能比如F5,比如前进后退,比如查看源代码,键盘...里面包含javafx的,swing的,swt三个版本的java浏览器,功能强大,供大家对比

    DJNativeSwing-SWT.jar、DJNativeSwing.jar、swt-win-x64.jar

    首先,DJNativeSwing是一个Java库,它允许开发者在Java Swing应用程序中使用SWT组件。Swing是Java AWT(Abstract Window Toolkit)的扩展,提供了更丰富的用户界面组件和更现代的外观。而SWT则是一个开源的GUI库,它...

    在SWING、SWT中嵌入浏览器

    这篇博客文章“在SWING、SWT中嵌入浏览器”就探讨了如何在Java应用中实现这一功能。 首先,SWING是Java Foundation Classes (JFC)的一部分,提供了丰富的组件和布局管理器来构建复杂的用户界面。尽管SWING本身并不...

    DJNativeSwing-SWT.zip

    DJNativeSwing-SWT是一个Java库,它允许开发者在Swing应用中无缝集成Web浏览器和VLC媒体播放器。这个压缩包包含了实现这一功能的核心组件和必要的文档资源。 首先,DJNativeSwing-SWT.jar是该库的核心文件,它提供...

    java浏览器+swing嵌套网页+源码免费

    Java浏览器是Java编程环境中用于显示和交互Web内容的软件组件,它允许开发者在Java应用程序中嵌入网页浏览功能。在本资源中,我们关注的是使用Swing库来实现这一目标,Swing是Java Foundation Classes (JFC)的一部分...

    DJNativeSwing-SWT-1-0-3-20191112.zip

    通过DJNativeSwing,开发者能够在Swing应用中直接使用SWT组件,如文件对话框、打印支持以及各种操作系统特定的控件,使得Java应用程序的外观和行为更接近原生应用。 **SWT** 是由Eclipse基金会开发的GUI工具包,它...

    DJNativeSwing-SWT.zip_DJNativeSwing_DJNativeSwing-SWT

    DJNativeSwing-SWT是一个Java库,它允许开发者在Swing应用程序中集成和利用SWT(Standard Widget Toolkit)的功能。这个库的主要目的是提供一个统一的界面,使得开发人员能够在Swing环境中利用SWT的一些特性,比如对...

    java swing界面显示IE网页

    java swing GUI界面显示IE网页 根据网址跳转到相应网站

    SWT开发的浏览器(Java)--源代码

    与Java标准库中的AWT和Swing不同,SWT直接调用操作系统的API,因此在性能和外观上更接近原生应用。这使得使用SWT创建的程序具有更好的响应速度和平台一致性。在我们的浏览器项目中,这一特性使得程序能够在不同的...

    DJNativeSwing-SWT

    标题 "DJNativeSwing-SWT" 指的是一款用于集成Java Swing组件和Eclipse SWT(Standard Widget Toolkit)的开源库。这个库的主要目的是让开发者能够在Swing应用程序中使用SWT组件,或者在SWT应用中使用Swing组件,...

    DJNativeSwing-SWT-1-0-2.zip

    Java项目中经常需要在GUI程序中嵌入浏览器,而Swing自带的组件对CSS、JS的支持不是很好,DJNativeSwing-SWT-1-0-2 内置浏览器插件组件,功能丰富强大,完美解决了这个问题。

    Java Swing做的图片浏览器

    在这个特定的案例中,"Java Swing做的图片浏览器"是一个利用Java Swing开发的应用程序,主要用于查看图片。这个小巧的程序只有几百KB,具有保存浏览历史的功能,允许用户在已浏览过的图片之间方便地切换,通过点击...

    DJNative-SWT20111120 java播放器插件最新版

    这个插件是针对SWT(Standard Widget Toolkit)设计的,SWT是Java编程中用于构建用户界面的一个开源库,它提供了与操作系统直接交互的能力,使得Java应用可以拥有更接近原生应用的外观和性能。 描述中提到的...

Global site tag (gtag.js) - Google Analytics