博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PreferencePage的小问题花了大把时间
阅读量:5896 次
发布时间:2019-06-19

本文共 2861 字,大约阅读时间需要 9 分钟。

在Eclipse里可以用FieldEditorPreferencePage简化Preference page的创建,但在随机文档里只重点说了要实现createFieldEditors方法,我明明实现了它,但点Preference命令时却总是提示:
None.gif
java.lang.InstantiationException: org.haree.mobject.ui.BasicPreferencePage 
None.gif    at java.lang.Class.newInstance0(Unknown Source) 
None.gif    at java.lang.Class.newInstance(Unknown Source) 
None.gif    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:
141
None.gif    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:
124
None.gif    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:
113
None.gif    at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:
189
None.gif    at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceNode.createPage(WorkbenchPreferenceNode.java:
60
None.gif    at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:
985
None.gif    at org.eclipse.jface.preference.PreferenceDialog$
8
.selectionChanged(PreferenceDialog.java:
529
None.gif    at org.eclipse.jface.viewers.StructuredViewer$
3
.run(StructuredViewer.java:
450
None.gif    at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:
616
None.gif    at org.eclipse.core.runtime.Platform.run(Platform.java:
747
None.gif    at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:
448
None.gif    at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:
1094
None.gif    at org.eclipse.jface.preference.PreferenceDialog.selectSavedItem(PreferenceDialog.java:
807
None.gif    at org.eclipse.jface.preference.PreferenceDialog$
3
.run(PreferenceDialog.java:
309
None.gif    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:
69
None.gif    at org.eclipse.jface.preference.PreferenceDialog.createContents(PreferenceDialog.java:
305
None.gif    at org.eclipse.jface.window.Window.create(Window.java:
348
None.gif    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:
925
None.gif    at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:
70
None.gif    at org.eclipse.jface.action.Action.runWithEvent(Action.java:
881
None.gif    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:
915
None.gif    at org.eclipse.jface.action.ActionContributionItem.access$
2
(ActionContributionItem.java:
866
None.gif    at org.eclipse.jface.action.ActionContributionItem$
7
.handleEvent(ActionContributionItem.java:
785
None.gif    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:
82
None.gif    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:
796
None.gif    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:
2772
None.gif    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:
2431
None.gifdot.gif

找了一个多小时,才发现原来是要提供一个没有参数的构造方法才可以。想了一下,可能因为Eclipse最终是使用Class.newInstance()的方式来生成界面元素的,所以有这个要求。

算是一个经验吧,我觉得Eclipse的帮助再丰富些就好了,特别是应该提供更多的例子代码。

顺便推荐下面两篇文章(要是Eclipse帮助都这么详细该多好):

本文转自博客园八进制的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
JdbcTemplate使用总结
查看>>
一道腾讯面试题的思考:到底谁会赢?
查看>>
flex
查看>>
paip 自定义输入法多多输入法词库的备份导出以及导入
查看>>
创业公司
查看>>
asp.net页面与页面之间传参数值
查看>>
Jsp中使用数据库连接池.
查看>>
AndroidUI设计之布局-详细解析布局实现
查看>>
用 Python 脚本实现对 Linux 服务器的监控
查看>>
Windows phone 8 学习笔记(1) 触控输入
查看>>
Python补充03 Python内置函数清单
查看>>
分布式缓存服务器设计原理
查看>>
Eclipse换常用的快捷键
查看>>
Windows Phone 8.1 新特性 - 控件之列表选择控件
查看>>
线程同步:互斥锁,条件变量,信号量
查看>>
【cocos2d-x 3.0-Mac配置篇】
查看>>
学习学习
查看>>
提升jQuery开发技能的教程
查看>>
Android系统自带样式(@android:style/) (转)
查看>>
Windbg符号与源码 《第二篇》
查看>>