我想在頁面的時間來初始化一個首選項頁面上的一些字段的值獲得打開 ,我想這對每個時間頁面在Project屬性窗口(Eclipse)中打開。Eclipse項目屬性/首選項頁:如何找到在項目屬性窗口中打開首選項頁面的情況下(Eclipse中)
回答
org.eclipse.jface.preference.PreferencePage
有setPreferenceStore
方法,你應該在你的首選項頁面構造函數中調用。經常指定的首選項存儲來自插件激活,就像從比較插件喜好這個例子:
setPreferenceStore(CompareUIPlugin.getDefault().getPreferenceStore());
有一個getPreferenceStore()
方法來調用訪問此商店。
覆蓋,如果您希望每個頁面變得可見時間通知public void setVisible(boolean visible)
。
但是,當頁面打開的構造函數只會被調用一次首先,因此我猜想每次打開頁面時都會觸發一些事件,然後相應的字段將從偏好存儲更新。 –
每次顯示首選項對話框時都構建頁面。 –
但在我的情況下,首選項頁面依賴於另一個頁面,所以構造函數將不起作用,因爲它只會在首選項對話框關閉後再調用,然後再次打開。 – vishal
試圖實現屬性更改偵聽。
這可能幫助 -
public class MyFieldEditorPreferencePage extends PropertyPage {
private Text text;
public void initialize() {
// TODO Auto-generated constructor stub
IProject project = (IProject) getElement().getAdapter(IProject.class);
final IPreferenceStore store = Activator
.getImpaktPreferenceStore(project);
store.addPropertyChangeListener(new IPropertyChangeListener() {
@Override
public void propertyChange(
org.eclipse.jface.util.PropertyChangeEvent event) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
if (text != null && !text.isDisposed())
text.setText(store.getString("key"));
}
});
setPreferenceStore(store);
}
@Override
protected Control createContents(Composite parent) {
// TODO Auto-generated method stub
initialize();
GridLayout layout = new GridLayout(1, false);
parent.setLayout(layout);
GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
Composite container = new Composite(parent, 0);
container.setLayoutData(gridData);
GridLayout containerLayout = new GridLayout(2, false);
container.setLayout(containerLayout);
Label lbl = new Label(container, 0);
lbl.setText("Locale");
text = new Text(container, SWT.BORDER);
text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
text.setText(getPreferenceStore().getString("impakt.properties.locale"));
return parent;
}
}
謝謝,它有幫助。 – vishal
- 1. 如何找出Eclipse中首選項頁面的首選項頁面ID?
- 2. 如何用特定項目右擊打開首選項頁面?
- 3. eclipse項目屬性
- 4. 如何在eclipse項目中實現一個屬性頁面
- 5. 目標選項在Eclipse窗口中禁用 - >首選項 - > android
- 6. Eclipse RCP應用程序中的項目特定首選項頁面
- 7. 如何將屬性頁面添加到eclipse項目(RCP /插件)
- 8. Eclipse插件首選項頁面屬性在啓動時被默認值覆蓋
- 9. Eclipse插件:通過首選項頁面的配置範圍首選項
- 10. 如何在Eclipse下的Eclipse中獲取Android選項 - >首選項
- 11. 如何在用戶之間共享Eclipse項目首選項?
- 12. Kony項目屬性窗口
- 13. 如何擴展項目屬性頁面?
- 14. 項目屬性中的Eclipse錯誤
- 15. 默認的Eclipse首選項
- 16. 在Eclipse中恢復默認的首選項頁面功能
- 17. 在一個首選項頁面隱藏首選項按鈕
- 18. 以編程方式打開Eclipse CDT項目屬性頁面的特定選項卡
- 19. Eclipse項目屬性缺少Classpath選項卡
- 20. Eclipse凍結訪問項目 - >屬性 - > android選項卡
- 21. Eclipse:項目>屬性不顯示所有選項
- 22. 如何在Eclipse中打開項目後關閉項目分面?
- 23. Eclipse首選項文件
- 24. 在Eclipse中打開項目
- 25. 在Eclipse中打開項目
- 26. 在Eclipse中找不到Android的選項3.6.1 Windows中的Helios>首選項
- 27. 如何在OS X的Eclipse中找到「首選項」菜單?
- 28. CUDA/C++項目屬性選項卡
- 29. 如何添加首選項頁面?
- 30. Eclipse開發 - preferencePageId適用於Eclipse IDE標準首選項頁面,如「org.eclipse.ui.preferencePages.GeneralTextEditor」
這是您要創建一個首選項頁面,或在現有的插件的網頁? –
我沒有使用現有的首選項頁面,我正在創建一個新的首選項頁面。基本上,我想我喜歡的網頁與偏好商店更新,我試圖通過屬性更改偵聽器來實現,但即時得到org.eclipse.swt.SWTException:小工具設置例外 – vishal