eclipse ViewPart刷新问题

问题描述

请问:我在ViewPart中创建了一个表格,表格数据为ArrayList,然后我创建一个线程,在此线程中改变ArrayList的值,我想改变值后能刷新表格,试了很多方式,都失败了,一下是我的ViewPart代码:publicvoidcreatePartControl(Compositeparent){viewer=newTableViewer(parent,SWT.MULTI|SWT.H_SCROLL|SWT.V_SCROLL|SWT.FULL_SELECTION);viewer.setContentProvider(newWidgetOneViewContentProvider());viewer.setLabelProvider(newWidgetOneViewLabelProvider());viewer.setSorter(newNameSorter());//viewer.setInput(getViewSite());viewer.getTable().setHeaderVisible(true);viewer.getTable().setLinesVisible(true);TableColumntableColumn1=newTableColumn(viewer.getTable(),SWT.NONE);tableColumn1.setWidth(250);tableColumn1.setText("Description");TableColumntableColumn2=newTableColumn(viewer.getTable(),SWT.NONE);tableColumn2.setWidth(500);tableColumn2.setText("Detail");TableColumntableColumn3=newTableColumn(viewer.getTable(),SWT.NONE);tableColumn3.setWidth(250);tableColumn3.setText("Date");list=newArrayList<WidgetOneLog>();WidgetOneLoglog=newWidgetOneLog("aaa","bbb","ccc");list.add(log);viewer.setInput(list);//Createthehelpcontextidfortheviewer'scontrolPlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(),"WidgetOneLogProject.viewer");makeActions();hookContextMenu();hookDoubleClickAction();contributeToActionBars();//接收消息try{Threadthread=newThread(newRunnable(){@Overridepublicvoidrun(){BufferedWriterwriter=null;try{StringlogPath=Platform.getInstanceLocation().getURL().getPath()+".metadata/";FilelogFile=newFile(logPath+"widgetone.log");if(!logFile.exists()){logFile.createNewFile();}//FileInputStreaminput=newFileInputStream(logFile);writer=newBufferedWriter(newFileWriter(logFile));DatagramSocketsocket=newDatagramSocket(port);while(true){System.out.println(logPath+"widgetone.log");DatagramPacketpacket=newDatagramPacket(newbyte[1024],1024);socket.receive(packet);Stringdata=newString(packet.getData(),0,packet.getLength());StringsplitStr[]=data.split("");WidgetOneLoglog=newWidgetOneLog(splitStr[0],splitStr[1],splitStr[2]);list.add(log);writer.write(data+"n");writer.flush();System.out.println("data>>>>>>>"+data);}}catch(Exceptione){e.printStackTrace();}finally{try{writer.close();}catch(Exceptione){e.printStackTrace();}}}});thread.start();}catch(Exceptione){e.printStackTrace();}}

解决方案

解决方案二:
thread=newThread(){publicvoidrun(){isClose=false;while(!Thread.interrupted()){if(null!=display&&!display.isDisposed()){display.syncExec(newRunnable(){publicvoidrun(){if(!container.isDisposed()){//你要实现的代码}else{isClose=true;}}});}elsebreak;try{Thread.sleep(Context.citySaleMoniTime);if(isClose){thread.interrupt();}}catch(InterruptedExceptione){e.printStackTrace();}}}};thread.start();

解决方案三:
你这个回答好丰富啊

时间: 2024-07-29 04:34:09

eclipse ViewPart刷新问题的相关文章

Eclipse开发工具使用指南

2001 年11 月 IBM 宣布捐出了价值 4 千万美金的开发软件给开放源码的 Eclipse 项目.如此受青睐的 Eclipse 是什么样子呢,如何使用呢?本文的第一部分会使你对Eclipse有一个初步的认识.并且,Eclipse这个号称未来能进行任何语言开发的IDE集大成者,又将如何实现它的这一宏伟目标?第二部分介绍的Eclipse的插件开发将是其中的关键所在. Eclipse 是替代IBM Visual Age for Java(以下简称IVJ)的下一代IDE开发环境,但它未来的目标不仅

Eclipse插件开发之定制向导

以前我有一个微型的便携式电子地址薄.我一直认为它很不错,直到有一天它停止运行了.销售该产品的人员无法找回我的联系地址名册,却提议更换一台.这时候我才知道数据的重要性.这个闪亮的小发明与存储在它里面的数据相比根本就不值一提. 在这个序列文章的第一部分中,我介绍了Eclipse插件的开发环境,并开发了一个简单的插件.在第二部分,我添加了工具条按钮.菜单项和对话框.它实际上没有实现任何具体功能.它简单地用某种字体显示了示例文本内容.现在我们要让它能够管理实际的数据.我们将修改这个插件,让它实现我们所需

Eclipse创建的JSP文件链接SQLServer2012的方法(附图)

  一直喜欢用eclipse做java相关的东西,jsp同样也不例外,网上教程把明明很简单的东西写的乱七八糟的,还是我自己来点儿硬货吧! 你需要下载的东西只有一个: Microsoft SQL Server JDBC 驱动程序 6.0         下载地址:https://www.microsoft.com/en-US/download/details.aspx?id=11774 这个程序版本是最新的,个人喜好(比较爱用新的),下载还是比较友好的,选择语言框的Chinese simplifi

eclipse源代码-Eclipse中怎么往新建的项目中添加java源代码?

问题描述 Eclipse中怎么往新建的项目中添加java源代码? Eclipse中怎么往新建的项目中添加java源代码?求解答!!!!! 解决方案 直接把源码import进eclipse就行了啊.如果导不进去,就新建一个空的工程,然后到对应的工作空间里,. 将对应的代码拷贝进去,去eclipse里面刷新下就OK了 解决方案二: 源码是工程文件夹模式的就import取去然后刷新 是单纯的.java文件复制粘贴到src文件夹下的包里吧 解决方案三: 把源码工程导入,在编译器中打开src目录,就可以在

解决maven web项目倒入eclipse不出现Maven Dependencies 和 Java System Library的问题

检查项目下的.classpath文件,确认是否有下面 的语句.如果没有,添加到文件末尾. <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER" /> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER" /> 在

eclipse 3.4.2的中文汉化升级网址????

问题描述 http://download.eclipse.org/technology/babel/update-site/ganymede网上查的是这个可是没有反应刷新的时候并没有各种语言包出现 解决方案 解决方案二:是啊也遇到了同样的问题-解决方案三:同问解决方案四:每天都在连接,今天终于可以了-已经更近完毕了-丷丷--解决方案五:3.4.2的中文语言包还没出吧,你用这么新的eclipse干吗.解决方案六:更新完版本显示的是3.4.0估计是3.4.X系列的汉化文件是通用的--有个习惯,就是什

Eclipse工具中包删除不了怎么解决

问题描述 我在同步SVN的时候Eclipse中包删除不了,包上面有个×符号.不明白代表什么意思,是不是和SVN有关呢?麻烦各位解决一下 解决方案 ×符号代表你删除过文件 如果你update的时候没有要更新了的话,把你的eclipse中的submit这样 你的x就应该没有了.解决方案二:你要找到工程的物理位置,比如在D:/JavaProject/...目录下 找到需要删除的包,直接删除该包.然后在eclipse里刷新工程,再svn提交一下,就可以了.

如何在eclipse中clean掉deployed文件下的内容?

问题描述 如题所述...总感觉那个clean键没反应么...这样我岂不是要一个一个一个清理..手机测试时候每个程序都要打混淆包,然后测试..难道要一个一个手动去删?我在公司里做的时候都能一起clean..我也不知道怎么设置... 解决方案 解决方案二:直接打混淆包自己删掉重新生成,除非你有进程用到这个jar文件,所以你clean不掉解决方案三:引用1楼zengzhongxiang的回复: 直接打混淆包自己删掉重新生成,除非你有进程用到这个jar文件,所以你clean不掉 顶解决方案四:直接选中删

eclipse怎连接mysql

问题描述 eclipse怎连接mysql啊eclipse3.4.2;mysql5.1.46mysql-connector-java-5.1.6-bin;importjava.sql.*;publicclassconn{publicstaticvoidmain(Stringargs[]){try{Class.forName("com.mysql.jdbc.Driver");//加载MYSQLJDBC驱动程序//Class.forName("org.gjt.mm.mysql.Dr