Java EclipsePropertySheetPage-它能支持多行属性吗?

Java EclipsePropertySheetPage-它能支持多行属性吗?,java,eclipse,view,properties,line,Java,Eclipse,View,Properties,Line,我想使用EclipseAdvancedPropertySection,它使用PropertySheetPage来显示和编辑属性,但是我的一些属性 是多行的(例如描述) 问题: 我无法获取PropertySheetPage以显示多行属性。 它将它们显示为一行,如下所示: 我尝试使用WrapTextPropertyDescriptor而不是TextPropertyDescriptor,但似乎没有帮助 是否有一种使用AdvancedPropertySection(PropertySheetPage)

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

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

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


是否有一种使用AdvancedPropertySection(PropertySheetPage)显示多行属性的方法?

如果您遵循本教程,这很简单:

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

我已经这样解决了这个问题:

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;

    }


}
使用:

使用导入org.apache.directory.studio.ldapbrowser.common.dialogs.TextDialog,您可以使用该插件更新eclipse,
只更新包,
org.apache.directory.studio.ldapbrowser.common

如果您遵循本教程,这很简单:

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

我已经这样解决了这个问题:

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;

    }


}
使用:

使用导入org.apache.directory.studio.ldapbrowser.common.dialogs.TextDialog,您可以使用该插件更新eclipse,
只更新包,
org.apache.directory.studio.ldapbrowser.common

在此处复制扩展AdvancedPropertySection的类的代码…在此处复制扩展AdvancedPropertySection的类的代码。。。