- 浏览: 639615 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (314)
- 生活 (2)
- c# (37)
- 技术 (3)
- 400电话 (0)
- 400常见问题 (0)
- 400资费 (0)
- html (7)
- css (0)
- 数据库 (7)
- javascript (16)
- php (33)
- asp.net mvc2 (10)
- mysql (9)
- C# 3.0 LinQ (10)
- vs2005或vs2008 (4)
- flash and as3 (7)
- fms (1)
- dedeCMS (11)
- java (33)
- j2me (1)
- swing (1)
- c++ (1)
- jquery easyui (3)
- jquery (5)
- android (29)
- MongoDB (9)
- VtigerCRM (1)
- test (0)
- linux (30)
- nutch (2)
- SqlServer数据库 (2)
- 数据检索 (2)
- java抓取 (11)
- 乐天 (1)
- 淘宝 (1)
- Silverlight4.0 (6)
- sphinx实时索引 (5)
- ecshop (9)
- codeigniter(CI) (3)
- axure6 (1)
- 京东店铺装修教程 (2)
- xpath (1)
- joomla (2)
- bpm (1)
- Bootstrap (2)
- knockout (4)
- ecstore (4)
- css3 (1)
- 微信 (2)
- dede (0)
- soa_edi (1)
- odoo (0)
- web (1)
最新评论
-
骑着蜗牛超F1:
在ie6下报了个stack overflow at line ...
兼容ie6和ie7 的16进制码流在html中显示为图片代码(base64) -
冰之海洋:
好像少了一句代码吧? FloatingFunc.show(th ...
android 一直在最前面的浮动窗口效果 -
yanzhoupuzhang:
连接有问题!
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000) -
whatable:
唉,楼主你都没有搞清楚重量级和轻量级。。。。既然引用了SWT, ...
java swing 内置浏览器打开网页显示flash图表-swt Browser应用 -
yy_owen:
我晕啊,你链接的什么内容额,我要的iis,你链接个视频什么意思 ...
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
上一篇文章【java swing 内置浏览器打开网页显示flash图表-swt Browser应用 】讲解的如何在java中打开网站,但是,在实际开发中右遇到了一个问题就是如何用程序改变已经打开的网页地址,下面把自己解决问题的方法讲解一下。
首先我在程序中直接调用 Browser对象的setUrl方法,代码如下:
browser.setUrl("http://www.y400800.cn ");
程序会抛出如下异常:
Exception occurred during event dispatching:
org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:3884)
at org.eclipse.swt.SWT.error(SWT.java:3799)
at org.eclipse.swt.SWT.error(SWT.java:3770)
at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:355)
at org.eclipse.swt.browser.Browser.checkWidget(Browser.java:164)
at org.eclipse.swt.browser.Browser.setUrl(Browser.java:973)
at zhinengkaiguanjiankong.comm.SWTPane.StartThread(SWTPane.java:42)
at zhinengkaiguanjiankong.RealTimeSwitchDetailChart.jbtn_searchActionPerformed(RealTimeSwitchDetailChart.java:292)
at zhinengkaiguanjiankong.RealTimeSwitchDetailChart.access$200(RealTimeSwitchDetailChart.java:32)
at zhinengkaiguanjiankong.RealTimeSwitchDetailChart$2.actionPerformed(RealTimeSwitchDetailChart.java:186)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1046)
at java.awt.Dialog$3.run(Dialog.java:1098)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1096)
at java.awt.Component.show(Component.java:1563)
at java.awt.Component.setVisible(Component.java:1515)
at java.awt.Window.setVisible(Window.java:842)
at java.awt.Dialog.setVisible(Dialog.java:986)
at zhinengkaiguanjiankong.RealTimeSwitchDetailChart$4.run(RealTimeSwitchDetailChart.java:315)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
该解决方案被否定,以失败告终。
然后又在网上baidu,google了一下,发现问题如下:
在非SWT线程的线程里想要修改SWT界面,都要通过上面类似的办法来做,不然就会报错的,解决方法如下:
Display.getDefault().syncExec(new Runnable() {
public void run() {
browser.setUrl("http://www.my400800.cn
");
}
});
最主要是红色字体的地方代码,大家注意一下。
发表评论
-
Java 线程中的Join、wait、notify,sleep
2016-06-22 17:28 4661.wait和notify这两个方法都是Object中的方法 ... -
Java多线程sleep(),join(),interrupt(),wait(),notify()
2016-06-22 17:25 517浅析 Java Thread.join() ... -
Java和C#运行命令行并获取返回值 运行bat文件
2015-08-04 10:45 1349Java运行命令行的例子 import java.io.B ... -
HttpClient的超时用法小记
2012-05-06 08:23 1003HttpClient在使用中有两个超时时间,是一直接触 ... -
JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor)使用简介
2012-05-05 21:29 806在多线程大师Doug Lea的 ... -
XPath 语法 org.dom4j.Document
2012-02-07 13:12 1351XPath 使用路径表达式 ... -
Nutch命令大全
2011-12-28 15:12 1441Nutch采用了一种命令的方式进行工作,其命令可以是对局域网方 ... -
Nutch1.2搜索引擎使用详解
2011-12-27 17:12 1704Nutch作为一款刚刚诞生 ... -
ECLIPSE java.lang.OutOfMemoryError: PermGen space 错误
2011-12-21 15:03 1133ECLIPSE 最近一段时间经常报错,看了日志,有如下错误信息 ... -
nutch环境配置在windows系统上(借助Cygwin)
2011-11-16 11:09 1813nutch环境配置在windows系统上必须要安装【Cygwi ... -
Heritrix 和 Nutch 比较与分析(java开源网络爬虫)
2011-11-15 11:01 7484Heritrix项目介绍 Heritrix工程 ... -
heritrix 下载、安装、配置、以及简单开发
2011-11-04 11:36 1405一、下载: 到www.sourcef ... -
java 如何判断Socket已断开
2011-09-14 13:34 1752最近在开发中遇到一个问题,就是如何判断远端服务器是否已经断开连 ... -
java 程序内存溢出问题查找
2011-04-10 18:00 991这段是时间用java swing做了一个小程序,但是运行一点时 ... -
jtable 隐藏表头标题行
2011-04-08 10:59 3285今天需要把JTable的表头也就是标题行给隐藏掉,在晚上找了一 ... -
java FrameView 启动最大化
2011-03-30 08:49 1545FrameViewzView = new ... -
Swing窗口Linux下不支持最大化问题
2011-03-28 10:15 1015由于最近一直在Linux下工作,今天遇到了Swing窗口不能最 ... -
java 抓取网页内容,可设定代理(HttpURLConnection)
2011-03-11 09:41 1473/* * To change this template, ... -
swing下 改变窗口样式为windows风格(swing控件样式不美观解决方案)
2011-03-02 15:52 2649在windows环境下可以用下面两种方法使窗口显示window ... -
java swing 内置浏览器打开网页显示flash图表-swt Browser应用
2011-02-25 16:45 3893今天在网上找了好久如何用在java swing打开网页,从而实 ...
相关推荐
例如,当用户在地址栏输入并按下回车键时,可以添加一个`KeyListener`监听键盘事件,然后根据输入的URL启动加载新页面的过程。同时,为了确保安全,开发者还需要考虑对URL的验证和异常处理。 最后,项目提供的`swt....
4. **配置SWT Browser**:在Eclipse中创建一个新的SWT项目,导入Browser组件,并设置其加载本地的FTL文件。 5. **Freemarker与Java的结合**:使用Freemarker API,将数据模型传递给模板并生成HTML字符串。 6. **...
6. 处理交互:`Browser`对象提供了多种事件监听器,如`LocationListener`可以监听地址栏的变化,`HyperlinkListener`可以处理点击超链接的事件。 嵌入式浏览器在许多应用程序中都有广泛的应用,比如帮助文档查看、...
总的来说,Java程序中嵌入IE的过程涉及到SWT库的使用,尤其是Windows平台上的动态链接库文件,以及`Display`、`Shell`和`Browser`类的实例化和交互。通过这些步骤,开发者可以创建一个包含内嵌IE浏览器的Java应用...
这些库提供了组件,可以构建GUI并嵌入Web视图,使得用户能够在应用程序内部打开RSS条目的链接。例如,使用JEditorPane或WebView组件,可以加载并显示HTML内容。 为了确保项目的正常运行,开发者需要注意文件路径的...
4. **事件监听**:DJ NativeSwing还允许你监听浏览器中的事件,比如页面加载完成、点击链接等,以便进行相应的处理。 ```java browser.addWebEventListener(new WebEventListener() { @Override public void ...
- **EmbeddedBrowser** 是第三方库,如 SWT 的 `Browser` 组件,它使用系统默认的Web浏览器引擎,提供跨平台支持。 ### 选择合适的组件 选择浏览器组件应考虑以下几个因素: 1. **功能需求**:如果仅需简单展示静态...