PreferencePage的小问题花了大把时间

在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帮助都这么详细该多好):

Mutatis mutandis - Using Preference Pages as Property Pages

Simplifying Preference Pages with Field Editors

转载于:https://www.cnblogs.com/bjzhanghao/archive/2005/01/11/90073.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值