- 浏览: 214629 次
- 性别:
- 来自: sdf
文章分类
最新评论
-
scd01234:
可以运行了,感谢师兄的慈悲加护!阿弥陀佛
基于eclipse swt做java浏览器内嵌等功能 -
seeyoula:
11
ie8 iframe支持问题 -
poorzerg:
很好,可以跑..谢谢了,我参考下..
基于eclipse swt做java浏览器内嵌等功能 -
landy8530:
验证网址那个方法,我直接输入sjkdasj这样的字符串返回也是 ...
js数据验证、js email验证、js url验证、js长度验证、js数字验证等 -
青春的、脚步:
表示运行不了 怎么回事 一模一样哦
mysql循环插入数据
swt-3.5M4-win32-win32-x86.zip 包下载地址:
http://download.csdn.net/source/921856
csdn上有些朋友说我这个是骗人的包。我无语。几个dome,你们自己去看吧。别不会用就说我人品有问题。
import java.util.ArrayList; import org.eclipse.swt.SWT; import org.eclipse.swt.browser.Browser; import org.eclipse.swt.browser.OpenWindowListener; import org.eclipse.swt.browser.VisibilityWindowListener; import org.eclipse.swt.browser.WindowEvent; import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Shell; public class BrowserTest1 { static final ArrayList urls = new ArrayList(); // @jve:decl-index=0: static boolean canRemove = false; public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("jog36行业招聘"); Image image = new Image(shell.getDisplay(), "Favicon.ico"); shell.setImage(image); shell.setLayout(new FillLayout()); Browser browser = new Browser(shell, SWT.NONE); initialize(display, browser); shell.open(); browser.setUrl("www.job36.com"); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } static void initialize(final Display display, Browser browser) { browser.addListener(SWT.MouseDown, new Listener() { public void handleEvent(Event event) { System.out.println("event.time:" + event.time); } }); browser.addOpenWindowListener(new OpenWindowListener() { public void open(WindowEvent event) { // Embed the new window final Shell shell = new Shell(display); shell.setText("New Window"); shell.setLayout(new FillLayout()); final Browser browser = new Browser(shell, SWT.NONE); initialize(display, browser); event.browser = browser; event.display.asyncExec(new Runnable() { public void run() { String url = browser.getUrl(); System.out.println(url); System.out.println(browser.getText()); if (urls.contains(url)){ //flag to chek if the window is closed automatic canRemove = false; shell.close(); } else{ canRemove = true; urls.add(url); } } }); } }); browser.addVisibilityWindowListener(new VisibilityWindowListener() { public void hide(WindowEvent event) { Browser browser = (Browser) event.widget; Shell shell = browser.getShell(); shell.setVisible(false); } public void show(WindowEvent event) { Browser browser = (Browser) event.widget; Shell shell = browser.getShell(); if (event.location != null) shell.setLocation(event.location); if (event.size != null) { Point size = event.size; shell.setSize(shell.computeSize(size.x, size.y)); } if (event.addressBar || event.menuBar || event.statusBar || event.toolBar) { // Create widgets for the address bar, menu bar, status bar and/or tool bar // leave enough space in the Shell to accomodate a Browser of the size // given by event.size } shell.open(); } }); browser.addDisposeListener(new DisposeListener(){ public void widgetDisposed(DisposeEvent event){ Browser browser = (Browser) event.widget; if (canRemove) urls.remove(browser.getUrl()); Shell shell = browser.getShell(); // shell.close(); } }); } }
import org.eclipse.swt.SWT; import org.eclipse.swt.browser.Browser; import org.eclipse.swt.browser.CloseWindowListener; import org.eclipse.swt.browser.LocationEvent; import org.eclipse.swt.browser.LocationListener; import org.eclipse.swt.browser.OpenWindowListener; import org.eclipse.swt.browser.ProgressEvent; import org.eclipse.swt.browser.ProgressListener; import org.eclipse.swt.browser.StatusTextEvent; import org.eclipse.swt.browser.StatusTextListener; import org.eclipse.swt.browser.WindowEvent; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; /** * This class implements a web browser */ public class TestBrowser { // The "at rest" text of the throbber private Label throbber; private Button button; private Combo url; private Button button_stop; private Button button_refresh; private Browser browser; private Browser browser2; private Label status; private Button button_forward; private Button button_back; private static final String AT_REST = "Ready"; private String[] urlList = new String[256]; int urlListItemCount = 0; /** * Runs the application * * @param location * the initial location to display */ public void run(String location) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Job36 行业招聘网 CRM系统"); createContents(shell, location); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } /** * Creates the main window's contents * * @param shell * the main window * @param location * the initial location */ public void createContents(Shell shell, String location) { shell.setLayout(new FormLayout()); // Create the composite to hold the buttons and text field Composite controls = new Composite(shell, SWT.NONE); FormData data = new FormData(); data.top = new FormAttachment(0, 0); data.left = new FormAttachment(0, 0); data.right = new FormAttachment(100, 0); controls.setLayoutData(data); // Create the status bar status = new Label(shell, SWT.NONE); data = new FormData(); data.left = new FormAttachment(0, 0); data.right = new FormAttachment(100, 0); data.bottom = new FormAttachment(100, 0); status.setLayoutData(data); // Create the web browser browser = new Browser(shell, SWT.BORDER); browser.addOpenWindowListener(new OpenWindowListener() { public void open(WindowEvent event) { Browser browsertest = (Browser)event.widget; final Shell shell = browser.getShell(); System.out.println(null==browsertest?"为null":browsertest.getUrl()); // String urlStr = event.browser.getUrl(); // int flag = 1; // browser.setVisible(false); // browser2.setVisible(true); // event.browser = browser2; // for (int i = 0; i < urlListItemCount; i++) { // if (urlList[i].equals(urlStr)) { // flag = 0; // } // } // if (flag == 1) { // urlList[urlListItemCount] = urlStr; // url.add(urlStr); // url.setText(urlStr); // urlListItemCount++; // } } }); data = new FormData(); data.top = new FormAttachment(controls); data.bottom = new FormAttachment(status); data.left = new FormAttachment(0, 0); data.right = new FormAttachment(100, 0); browser.setLayoutData(data); // Create the web browser browser2 = new Browser(shell, SWT.BORDER); browser2.addOpenWindowListener(new OpenWindowListener() { public void open(WindowEvent arg0) { String urlStr = arg0.browser.getUrl(); int flag = 1; browser2.setVisible(false); browser.setVisible(true); arg0.browser = browser; for (int i = 0; i < urlListItemCount; i++) { if (urlList[i].equals(urlStr)) { flag = 0; } } if (flag == 1) { urlList[urlListItemCount] = urlStr; url.add(urlStr); url.setText(urlStr); urlListItemCount++; } } }); data = new FormData(); data.top = new FormAttachment(controls); data.bottom = new FormAttachment(status); data.left = new FormAttachment(0, 0); data.right = new FormAttachment(100, 0); browser2.setLayoutData(data); // Create the controls and wire them to the browser controls.setLayout(new GridLayout(7, false)); // Create the back button button_back = new Button(controls, SWT.PUSH); button_back.setText("后退"); button_back.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { browser.back(); } }); // Create the forward button button_forward = new Button(controls, SWT.PUSH); button_forward.setText("前进"); button_forward.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { browser.forward(); } }); // Create the refresh button button_refresh = new Button(controls, SWT.PUSH); button_refresh.setText("刷新"); button_refresh.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { browser.refresh(); } }); // Create the stop button button_stop = new Button(controls, SWT.PUSH); button_stop.setText("停止"); button_stop.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { browser.stop(); } }); // Create the address entry field and set focus to it url = new Combo(controls, SWT.ARROW_DOWN); url.setLayoutData(new GridData(296, SWT.DEFAULT)); url.setSize(600, url.getSize().y); url.setFocus(); // Create the go button button = new Button(controls, SWT.PUSH); button.setText("Go"); button.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { String urlStr = url.getText(); int flag = 1; browser.setUrl(urlStr); for (int i = 0; i < urlListItemCount; i++) { if (urlList[i].equals(urlStr)) { flag = 0; } } if (flag == 1) { urlList[urlListItemCount] = urlStr; url.add(urlStr); urlListItemCount++; } } }); // Create the animated "throbber" throbber = new Label(controls, SWT.NONE); throbber.setText(AT_REST); // Allow users to hit enter to go to the typed URL shell.setDefaultButton(button); // Add event handlers browser.addCloseWindowListener(new AdvancedCloseWindowListener()); browser.addLocationListener(new AdvancedLocationListener(url)); browser.addProgressListener(new AdvancedProgressListener(throbber)); browser.addStatusTextListener(new AdvancedStatusTextListener(status)); // Go to the initial URL if (location != null) { browser.setUrl(location); } } /** * This class implements a CloseWindowListener for TestBrowser */ class AdvancedCloseWindowListener implements CloseWindowListener { /** * Called when the parent window should be closed */ public void close(WindowEvent event) { // Close the parent window ((Browser) event.widget).getShell().close(); } } /** * This class implements a LocationListener for TestBrowser */ class AdvancedLocationListener implements LocationListener { // The address text box to update private Combo location; /** * Constructs an AdvancedLocationListener * * @param text * the address text box to update */ public AdvancedLocationListener(Combo text) { // Store the address box for updates location = text; } /** * Called before the location changes * * @param event * the event */ public void changing(LocationEvent event) { // Show the location that's loading location.setText("加载 " + event.location + "..."); } /** * Called after the location changes * * @param event * the event */ public void changed(LocationEvent event) { // Show the loaded location location.setText(event.location); } } /** * This class implements a ProgressListener for TestBrowser */ class AdvancedProgressListener implements ProgressListener { // The label on which to report progress private Label progress; /** * Constructs an AdvancedProgressListener * * @param label * the label on which to report progress */ public AdvancedProgressListener(Label label) { // Store the label on which to report updates progress = label; } /** * Called when progress is made * * @param event * the event */ public void changed(ProgressEvent event) { // Avoid divide-by-zero if (event.total != 0) { // Calculate a percentage and display it int percent = (int) (event.current / event.total); progress.setText(percent + "%"); } else { // Since we can't calculate a percent, show confusion :-) progress.setText("完成"); } } /** * Called when load is complete * * @param event * the event */ public void completed(ProgressEvent event) { // Reset to the "at rest" message progress.setText(AT_REST); } } /** * This class implements a StatusTextListener for TestBrowser */ class AdvancedStatusTextListener implements StatusTextListener { // The label on which to report status private Label status; /** * Constructs an AdvancedStatusTextListener * * @param label * the label on which to report status */ public AdvancedStatusTextListener(Label label) { // Store the label on which to report status status = label; } /** * Called when the status changes * * @param event * the event */ public void changed(StatusTextEvent event) { // Report the status status.setText(event.text); } } /** * The application entry point * * @param args * the command line arguments */ public static void main(String[] args) { new TestBrowser().run(args.length == 0 ? null : args[0]); } }
评论
5 楼
scd01234
2014-03-21
可以运行了,感谢师兄的慈悲加护!阿弥陀佛
4 楼
poorzerg
2012-11-22
很好,可以跑..谢谢了,我参考下..
3 楼
wangzi6hao
2011-12-13
151813483 写道
挺好的,谢谢。
你够用就行,好久没有看过了,之前写的。多的功能你要自己看api了。呵呵。
2 楼
151813483
2011-10-28
挺好的,谢谢。
1 楼
epinszteinic
2011-08-18
不是dome,是demo
发表评论
-
文件上传类
2009-11-27 22:40 839package com.job36.util; impo ... -
javamail发送html邮件
2009-11-27 22:38 1678import java.io.BufferedReader; ... -
java 将网页转为jpg
2009-11-27 22:37 2421package com.job36.util.pdf; ... -
java压缩图片类
2009-11-27 22:36 1809import java.awt.Color; import ... -
java读写Cookie
2009-11-27 22:36 1805import java.io.UnsupportedEncod ... -
java分页
2009-11-27 22:35 1155import java.util.List; ... -
proxool配置jtds
2009-11-27 22:26 1291jdbc-0.proxool.alias=DBPool jd ... -
proxool配置mysql proxool配置mysql乱码
2009-11-27 22:20 1380jdbc-0.proxool.alias=DBPool jd ... -
proxool配置mysql proxool配置mysql乱码
2009-11-27 22:19 1577jdbc-0.proxool.alias=DBPool jd ... -
Pager Tag Library中文乱码
2009-11-27 22:19 1509昨天在做Pager Tag Library分页时碰到了乱码. ... -
java JDBC连接数据库
2009-11-27 22:12 10402009-09-17 22:06 package com. ... -
java filter做字符串过滤 java处理乱码
2009-11-27 22:12 15352009-09-17 22:09 package com. ... -
java filter做简单登录过滤
2009-11-27 22:11 15912009-09-17 22:11 package com. ... -
proxool数据连接池 java代码
2009-11-27 22:10 13072009-09-17 22:16 package com. ... -
java多线程模拟读不重复的数据 java多线程按顺序读数据
2009-11-27 22:06 1609以下内容是根据本人的一些业务逻辑来做的一个dome,应该有很多 ...
相关推荐
在这个场景下,"Java内嵌浏览器eclipse.swt插件版"指的是使用SWT来实现Java应用程序中的内嵌浏览器功能。 SWT是Eclipse项目的一部分,设计用于替代Java Swing,提供更丰富的图形用户界面和更好的性能。它利用了操作...
Java内嵌浏览器技术是将网页内容在Java应用程序中展示的一种方式,这在处理与Web相关的功能或者需要在桌面应用中嵌入网页时非常有用。在这个场景中,DJNativeSwing和SWT(标准窗口工具包)是两个关键的库,它们帮助...
总之,Java Swing内嵌浏览器通过第三方库如DJNativeSwing-SWT,可以方便地在Java桌面应用中嵌入一个功能完备且与操作系统紧密集成的浏览器,这极大地扩展了Java Swing应用的功能和交互可能性。在实际开发中,理解和...
这个压缩包文件“Java-Swing嵌入浏览器(本地浏览器和webkit浏览器-火狐内核)”显然提供了一个实现这一功能的示例,主要涉及到的技术是DJnative-SWT和SWT。 DJnative-SWT 是一个开源项目,它的目标是将Java和...
"djnativeswing-sw.jar"文件则是DJNativeSwing-SWT的实现,它实现了在SWT环境下内嵌浏览器的功能。"org.eclipse.swt."标签表明这些JAR包依赖于Eclipse SWT库,这是实现原生浏览器控件的关键。 在使用这些JAR包时,...
【标题】"org.eclipse.swt相关所有jar包"涵盖了用于JAVA应用程序与浏览器集成的关键库 【描述】中的"org.eclipse.swt"是指Eclipse Standard/Widgets工具包,这是一个开源的Java库,允许开发人员在多种平台上创建...
总的来说,Java SWT浏览器64位插件对于那些需要在Java应用中内嵌浏览器功能且运行在64位环境下的项目来说,是一个不可或缺的工具。通过合理使用,开发者可以构建出更加灵活、功能强大的桌面应用。在实际应用中,还...
在Java中实现内嵌浏览器,我们可以利用Eclipse SWT(Standard Widget Toolkit)库中的`Browser`类。以下是一个关于如何使用SWT创建内嵌浏览器的详细说明: 1. **引入依赖**: 首先,你需要在项目中引入SWT库。对于...
这个压缩包包含了支持Java浏览器内嵌功能的组件,这意味着开发者可以利用SWT来在他们的应用程序中集成Web浏览功能。 标签中的“eclipseswt”、“eclipse”和“swt api jar”进一步明确了这个包与Eclipse IDE的关系...
Java内嵌浏览器是一种技术,...总结来说,这个Java内嵌浏览器项目通过结合SWT、JNA以及DJNativeSwing库,实现了在Java应用程序中无缝集成Web浏览功能,允许开发者创建具有强大网络功能的桌面应用,并且能够跨平台运行。
java源码屏幕刷新介绍 Java CEF 现在是 Jingyi Wei 的一个开源项目。 该项目可以在 Java SWT 中嵌入 Chromium 浏览器,支持多标签浏览器、cookie 操作、标签设置、打印、后退、前进、刷新按钮和增强的文件下载。 该...
在Java中集成WebKit,开发者可以创建具有现代Web浏览功能的应用程序,比如内嵌式浏览器控件。 SWT(Standard Widget Toolkit)是Eclipse基金会开发的一个Java图形用户界面(GUI)工具包,它提供了与操作系统紧密集成...
SWT提供了一个`Browser`类,允许开发者在Java程序中内嵌一个Web浏览器组件。 **JavaFX** 是Oracle公司推出的新一代富客户端应用开发框架,它提供了丰富的UI控件、2D/3D图形渲染、动画和媒体处理等功能。JavaFX的`...
DJ NativeSwing是SWT的一个扩展,它允许开发者在Java应用程序中无缝地嵌入Swing组件,包括一个内嵌浏览器功能。 在Java编程中,SWT和Swing分别是两种主要的GUI库。SWT提供了与操作系统更直接的交互,而Swing则依赖...
"Swt嵌入浏览器"这一主题涉及到如何使用SWT库在Java应用中嵌入一个功能完整的浏览器引擎。 SWT是Eclipse基金会开发的一个开源GUI库,它允许Java开发者创建与本机系统更加紧密集成的图形用户界面。与传统的Java ...
总结来说,DJNativeSwing组件集是一个强大的工具,它让Java开发者能够在他们的应用程序中集成高性能的Web浏览器功能,无论应用程序是基于Swing还是SWT。配合32位和64位的SWT库,它可以覆盖广泛的操作系统环境,确保...
1. **内嵌浏览器组件**:这个库的核心是内嵌浏览器组件,它可以在Java Swing或Eclipse SWT(标准小部件工具包)的应用程序中无缝使用。这使得开发者能够创建混合型应用程序,其中包含本地桌面功能和网页内容。 2. *...
5. 利用SWT内嵌Mozilla浏览器:SWT提供了一个名为`Browser`的类,可以用来在Java应用中嵌入Web浏览器。这种功能允许开发者在自己的应用程序中展示网页内容,或者实现基于Web技术的组件,如HTML编辑器。 总的来说,...
DJNativeSwing是一款Java库,它为Java应用程序提供了一种集成原生系统界面,特别是内嵌浏览器功能的方式。这个库的出现解决了Java平台在显示Web内容时与原生操作系统交互的局限性,使得Java应用可以拥有更加现代和...
SWT提供了对WebBrowser的支持,可以在Java程序中内嵌一个浏览器控件,这个控件能够加载和显示HTML页面。一旦网页加载完成,开发者可以利用相关的截图功能将其转换为图像文件,例如JPEG或PNG,以便于分享、存储或...