java swing内嵌浏览器

您所在的位置:网站首页 swt嵌入谷歌浏览器 java swing内嵌浏览器

java swing内嵌浏览器

2023-08-13 20:26| 来源: 网络整理| 查看: 265

  前几天做项目,需要在java swing内嵌浏览器,搜索一阵,无果。后发现一个很好用的组件。DJNativeSwing

它是native code实现的,但是集成在java swing代码中也没有任何问题。网址是:Native Swing

不只是浏览器,还有vlc,flash等等,包括例子官方也很丰富。

  当然默认只有win32的,不过也不要灰心,DJNativeSwing是基于swt,所以只要下载对应操作系统的swt.jar就可以了。

我的是linux 64bit 下载对应的swt.jar。一样可以运行,对于swt.jar. google一下就可以找到。

 希望对你们有所帮助。

附上官网代码

/* * Christopher Deckers ([email protected]) * http://www.nextencia.net * * See the file "readme.txt" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. */ package chrriis.dj.nativeswing.swtimpl.demo.examples.webbrowser; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.BorderFactory; import javax.swing.JCheckBox; 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; /** * @author Christopher Deckers */ public class SimpleWebBrowserExample extends JPanel { public SimpleWebBrowserExample() { super(new BorderLayout()); JPanel webBrowserPanel = new JPanel(new BorderLayout()); webBrowserPanel.setBorder(BorderFactory.createTitledBorder("Native Web Browser component")); final JWebBrowser webBrowser = new JWebBrowser(); webBrowser.navigate("http://www.google.com"); webBrowserPanel.add(webBrowser, BorderLayout.CENTER); add(webBrowserPanel, BorderLayout.CENTER); // Create an additional bar allowing to show/hide the menu bar of the web browser. JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 4, 4)); JCheckBox menuBarCheckBox = new JCheckBox("Menu Bar", webBrowser.isMenuBarVisible()); menuBarCheckBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { webBrowser.setMenuBarVisible(e.getStateChange() == ItemEvent.SELECTED); } }); buttonPanel.add(menuBarCheckBox); add(buttonPanel, BorderLayout.SOUTH); } /* Standard main method to try that test as a standalone application. */ public static void main(String[] args) { UIUtils.setPreferredLookAndFeel(); NativeInterface.open(); SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame frame = new JFrame("DJ Native Swing Test"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(new SimpleWebBrowserExample(), BorderLayout.CENTER); frame.setSize(800, 600); frame.setLocationByPlatform(true); frame.setVisible(true); } }); NativeInterface.runEventPump(); } }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3