gpt4 book ai didi

java - Eclipse PropertySheetPage - 它可以支持多行属性吗?

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:27 25 4
gpt4 key购买 nike

我想使用 Eclipse AdvancedPropertySection,它使用 PropertySheetPage显示和编辑属性,但我的一些属性是多行(例如描述)。

问题:我无法让 PropertySheetPage 显示多行属性。它将它们显示为一行,如下所示:

alt text

我尝试使用 WrapTextPropertyDescriptor 而不是 TextPropertyDescriptor,但它似乎没有帮助。

有没有办法使用 AdvancedPropertySection(PropertySheetPage) 显示多行属性?

最佳答案

如果您遵循本教程,那就很简单:http://www.eclipse.org/articles/Article-Properties-View/properties-view.html

您可以创建自己的自定义属性描述符。

我已经解决了这个问题:

import org.apache.directory.studio.ldapbrowser.common.dialogs.TextDialog;
import org.eclipse.jface.viewers.DialogCellEditor;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;

public class TextDialogCellEditor extends DialogCellEditor{

protected TextDialogCellEditor(Composite parent) {
super(parent);
}

@Override
protected Object openDialogBox(Control cellEditorWindow) {
TextDialog textDialog = new TextDialog(cellEditorWindow.getShell(),(String)getValue());
textDialog.open();
if(textDialog.getReturnCode()==textDialog.OK){
setValue(textDialog.getText());
}
return getValue();
}

}

这是您自己的描述符:

import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.views.properties.PropertyDescriptor;

public class TextDataPropertyDescriptor extends PropertyDescriptor{

public TextDataPropertyDescriptor(Object id, String displayName) {
super(id, displayName);
// TODO Auto-generated constructor stub
}

@Override
public CellEditor createPropertyEditor(Composite parent) {
CellEditor editor = new TextDialogCellEditor(parent);
if (getValidator() != null)
editor.setValidator(getValidator());
return editor;

}


}

用途:

properties.add(new TextDataPropertyDescriptor(YourClass.PROPERTY_CONTENT,"Content"));

使用import org.apache.directory.studio.ldapbrowser.common.dialogs.TextDialog;,您可以使用插件http://directory.apache.org/studio/downloads.html更新您的Eclipse。 ,并仅更新包org.apache.directory.studio.ldapbrowser.common;

关于java - Eclipse PropertySheetPage - 它可以支持多行属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3244407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com