首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    【插件开发】—— 10 JFace开发详解

    这里就可以使用JFace了,它是对SWT的封装,可以应用于复杂的数据类型。    ; 8 import org.eclipse.jface.viewers.LabelProvider; 9 import org.eclipse.jface.viewers.ListViewer ; 10 import org.eclipse.jface.viewers.SelectionChangedEvent; 11 import org.eclipse.jface.viewers.Viewer ; 6 import org.eclipse.jface.viewers.TableViewer; 7 import org.eclipse.jface.viewers.Viewer; 8 ; 4 import org.eclipse.jface.text.TextPresentation; 5 import org.eclipse.jface.text.TextViewer; 6

    3.4K50发布于 2018-01-18
  • 来自专栏10km的专栏

    jface databinding:部分实现POJO对象的监测

    https://blog.csdn.net/10km/article/details/53839050 在前一篇博文《jface databinding/PojoBindable实现对POJO return this; } } 测试代码: TestPojoBinding4.java package testwb; import org.eclipse.jface.dialogs.Dialog ; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Composite org.eclipse.core.databinding.DataBindingContext; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.jface.databinding.swt.WidgetProperties org.eclipse.swt.widgets.Display; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.jface.databinding.swt.DisplayRealm

    62610发布于 2019-05-25
  • 来自专栏10km的专栏

    jface databinding:List,Set,Map对象的Observable代理封装

    jface为List,Set,Map三种类型提供了对应的三种可写对象WritableList,WritableSet,WritableMap,研究了这三个类的代码,发现它们99%是满足这个需求,然并卵, 没有对toWrap做任何处理就传给了父类的构造函数,这才是我想要的 super(realm, toWrap, elementType); } 所以这虽然是一个很普遍的需求,但jface 好在jface的基础框架比较扎实,所以如果搞清楚jface的类继承结构,自己写代码也不复杂,所以我为List,Set,Map三种类型的分别写了三个类用于实现Observable封装(WrappedObservableList

    78160发布于 2018-01-03
  • 来自专栏10km的专栏

    jface databindingPojoBindable实现对POJO对象的支持

    https://blog.csdn.net/10km/article/details/53811946 POJO对象无法被监控 在jface databinding中,将普通的java package testwb; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants package testwb; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants 有,解决方案就是本文的标题jface databinding/PojoBindable。 /PojoBindable#With_Pojo_Bindable 参考资料 《JFace Data Binding/PojoBindable》 《AJFace Data Binding - Tutorial

    77210发布于 2019-05-25
  • 来自专栏10km的专栏

    jface databinding: 创建readonly(只读)可观察对象(observable)

    因为jface databinding本身的现实需求,jface 数据绑定技术中提供了对Observable对象的影子对象的创建方法。 return unmodifiableStatusProviders; } 从下面的类型层次结构图中可以看到,对于Map,Set,List以及普通的ObservableValue对象,jface

    1.1K50发布于 2018-01-03
  • 来自专栏10km的专栏

    jface databinding:延迟计算--ComputedValue和WritableList使用的例子

    org.eclipse.core.databinding.observable.list.WritableList; import org.eclipse.core.databinding.observable.value.ComputedValue; import org.eclipse.jface.databinding.swt.DisplayRealm org.eclipse.core.databinding.observable.list.WritableList; import org.eclipse.core.databinding.observable.value.ComputedValue; import org.eclipse.jface.databinding.swt.DisplayRealm org.eclipse.core.databinding.observable.list.WritableList; import org.eclipse.core.databinding.observable.value.ComputedValue; import org.eclipse.jface.databinding.swt.DisplayRealm

    59310发布于 2019-05-25
  • 来自专栏10km的专栏

    jface databinding:UpdateValueStrategy(数值更新策略)类详解

    https://blog.csdn.net/10km/article/details/53857624 在jface databinding(数据绑定框架)中,org.eclipse.core.databinding.UpdateValueStrategy 关于验证器和转换器的使用参见我之前的博客 《jface databinding(数据挷定)中的数据转换(IConverter)和数据验证(IValidator )》 数据转换 数据转换器(IConverter

    64420发布于 2019-05-25
  • 来自专栏10km的专栏

    jface databinding:输入无效数值时强制恢复初始值-updateModelToTarget

    package testwb; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.core.databinding.observable.value.WritableValue; import org.eclipse.jface.databinding.swt.WidgetProperties org.eclipse.swt.widgets.Display; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.jface.databinding.fieldassist.ControlDecorationSupport ; import org.eclipse.jface.databinding.swt.DisplayRealm; import org.eclipse.swt.widgets.Button; import 难道jface有bug?

    1.5K50发布于 2018-01-03
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    【插件开发】—— 9 编辑器代码分块着色-高亮显示!

    ; 6 import org.eclipse.jface.text.Document; 7 import org.eclipse.jface.text.IDocument; 8 import ; 14 import org.eclipse.jface.text.rules.IPredicateRule; 15 import org.eclipse.jface.text.rules.IRule ; 22 import org.eclipse.jface.text.rules.SingleLineRule; 23 import org.eclipse.jface.text.rules.Token ; 8 import org.eclipse.jface.resource.StringConverter; 9 import org.eclipse.jface.text.TextAttribute ; 10 import org.eclipse.jface.text.rules.IToken; 11 import org.eclipse.jface.text.rules.Token; 12 import

    3.1K60发布于 2018-01-18
  • 来自专栏非著名运维

    数据库迁移工具Kettle连接Mysql数据库报错:Driver class ‘org.gjt.mm.mysql.Dr...解决

    (Window.java:820) at org.eclipse.jface.window.Window.open(Window.java:796) at org.pentaho.di.ui.xul.KettleDialog.show $100(JfaceMenuitem.java:43) at org.pentaho.ui.xul.jface.tags.JfaceMenuitem$1.run(JfaceMenuitem.java:106 ) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:545) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java :490) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402

    3.3K10编辑于 2022-06-22
  • 来自专栏10km的专栏

    jface databinding:使用CheckboxTableViewer实现表中(Set)对象与CheckTable中选中条目数据绑定

    上一篇博文《jface databinding:可多选的widget List组件selection项目与java.util.List对象的双向数据绑定》讲述了如何实现List组件的多选项与List数据绑定的问题 要实现这个需求,用jface提供的JFace Viewers实现数据绑定非常方便,JFace Viewers为Table,Tree等复杂组件提供了一个方便的开发框架,如下图对于每一种复杂组件都有对应的Viewer ; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import ; import org.eclipse.jface.databinding.viewers.ObservableSetContentProvider; import org.eclipse.jface.databinding.viewers.ViewerProperties , observableSet)); }); return bindingContext; } } 参考资料: 《Data Binding for JFace

    2K100发布于 2018-01-03
  • 来自专栏10km的专栏

    jface databinding(数据挷定)中的数据转换(IConverter)和数据验证(IValidator )

    发现自己设计的NumText组件用户体验存在问题后,才下决心对jface databinding做深入的了解。 ,尼玛,这jface databinding本是要简化代码设计的,要是需要写更多更复杂代码,还不累死人呀。 jface databinding提供了两个基本的接口用于数据类型转换和数据验证 分别是IConverter和IValidator。 TestBinding.java package testwb; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants 事实上jface databinding可以实现双向数据同步。 参考资料: 《AJFace Data Binding - Tutorial》 《JFace Data Binding》

    1.3K10发布于 2019-05-25
  • 来自专栏全栈程序员必看

    解决 eclipse 3.7 字体偏小问题

    1.找到jFace并用WinRAR打开之: jFace的具体位置:Eclipse目录/plugins/org.eclipse.jface_3.7.0.I20110522-1430.jar,找到后,用WinRAR 2.找到并修改字体属性: 打开后,依次展开:/org/eclipse/jface/resources,这里,你将看到不同操作系统的字体设置,比如jfacefonts_hp_ux,properties里保存了 找到Windows7/Vista的字体设置,双击,随便用一个文本编译器打开,找到org.eclipse.jface.textfont.0的配置项,将其设置成CourierNew-regular即可,后面还可以设置字号

    47720发布于 2021-05-19
  • 来自专栏10km的专栏

    eclipse:WindowBuilder开发时为SWT/JFace引入JavaDoc和源码

    因为安装WindowBuilder时是不包含SWT/JFace待第三库的JavaDoc的(SWing是JDK自带的,有源码支持),导致开发过程中要了解相关的类的说明就比较麻烦。 如果要在eclipse中加入对SWT/JFace等第三库的JavaDoc和源码支持,有两个解决办法。 方法一:在线JavaDoc 以JFace为例, 如下图,鼠标右键点击你的项目属性,找到Java构建路径,找到org.eclipse.jface.xxxx.jar包,对JavaDoc位置点编辑, ? 但是eclipse并没有单独为SWT/JFace这些库提供单独的JavaDoc文档下载链接,不过解决的办法总是有的。 Eclipse SDK是eclipse旗下的一个project也是eclipse的基础构件,Eclipse SDK提供了完整的eclipse的所有文档和源(不仅限于SWT/JFace)。

    1.6K10发布于 2019-05-25
  • 来自专栏10km的专栏

    jface databinding:label provider 实现多列表格(Table)数据绑定的两个途径

    jface viewer中label provider用于提供数据对象到视图对象(viewer)显示内容的数据映射关系。 ; import org.eclipse.jface.databinding.viewers.ViewerSupport; import org.eclipse.jface.dialogs.Dialog ; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.swt.widgets.Composite; import ; import org.eclipse.jface.databinding.viewers.ObservableListContentProvider; import org.eclipse.jface.dialogs.Dialog ; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.TableViewer;

    2K100发布于 2018-01-03
  • 来自专栏全栈程序员必看

    eclipse代码补全、代码提示及防空格自动补全

    1.依次点击 window –> show view –>other> 找到plug-ins 找到插件org.eclipse.jface.text(每个”.”都是按首字母排序的,大概是右边箭头这个位置 ,选择import as–> Source Project, 导入完成后,在你的workspace(eclipse左边)就可以看到这个project了 2.修改代码 打开org.eclipse.jface.text /org/eclipse/jface/text/contentassist/CompletionProposalPopup.java文件 找到下面的代码(ctrl+F快捷查) char[] triggers 把修改好的org.eclipse.jface.text导出 右键点击你的workspace里的org.eclipse.jface.text, 选择export–>Deployable plug-ins

    2.8K20编辑于 2022-09-05
  • 来自专栏10km的专栏

    jface databinding:可多选的widget List组件selection项目与java.util.List对象的双向数据绑定

    实现Observable对象 我们知道,org.eclipse.jface.databinding.swt.WidgetProperties工厂类的items()方法中为CCombo、Combo、List 参见 org.eclipse.jface.internal.databinding.swt.ListItemsProperty的源码 public class ListItemsProperty extends ; import org.eclipse.jface.internal.databinding.swt.WidgetListener; import org.eclipse.swt.SWT; import ; import org.eclipse.jface.databinding.swt.ISWTObservableList; import org.eclipse.jface.dialogs.Dialog 在jface.internal包下,也就是非公开的包,所以这个类的接口稳定性并没有保证,版本升级的时候有可能会被改变或删除。

    1.1K80发布于 2018-01-03
  • 来自专栏10km的专栏

    jface databinding: Radio Button group及ISideEffect绑定数据对象的例子

    // 将SelectObservableValue 的value与数据对象type绑定 // observablesourceConfig对象类型参见本文附参考资料中的《jface ; break; } }); 关于ISideEffect的介绍参见我上一篇博客《jface databinding:更简单的ISideEffect实现多目标单边数据绑定塈其原理分析》 参考资料: 《Binding values of a radio button group》 《jface

    887100发布于 2018-01-03
  • 来自专栏全栈程序员必看

    eclipse自动提示设置方法和优化(去除空格自动补全)

    版本的eclipse可以按照这种方法找到对应jar包的源码进行修改,其他版本的eclipse不支持修改 只能使用别人修改好的jar包 我这里有4.6.2版本的eclipse对应的org.eclipse.jface.text 使用方法: 下载org.eclipse.jface.text_3.11.2.v20161113-1700.jar 包 然后打开eclipse安装目录,搜索org.eclipse.jface.text,找到你原来 eclipse的org.eclipse.jface.text包 然后替换即可。 这个jar包适合各种eclipse版本,你只需要把下载好的org.eclipse.jface.text_3.11.2.v20161113-1700.jar 包的名字重命名为你eclipse源文件里面对应 org.eclipse.jface.text包的名字(版本号),然后进行替换即可,亲测可用正常使用!

    1.8K20编辑于 2022-09-15
  • 来自专栏10km的专栏

    jface databinding:重写doSetValue方法ComputedValue实现双向多对一的数据绑定

    this.date, this.date = date); } ISideEffect 在这个场景中,是两个widget组件的状态绑定到一个数据对象的属性 实现上面的需求,参考我之前的博文《jface 我们知道ComputedValue也可以实现单向的多对一数组绑定, 关于ComputedValue,我在另一篇博文中有更详细的介绍《jface databinding:延迟计算–ComputedValue java.beans.PropertyChangeSupport; import java.util.Calendar; import java.util.Date; import org.eclipse.jface.dialogs.Dialog ; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Composite ; import org.eclipse.jface.databinding.swt.WidgetProperties; import org.eclipse.core.databinding.beans.BeanProperties

    1.1K90发布于 2018-01-03
领券