サンプル Java™ コードを使用して、1 つの Java クラスを使用することにより、テキスト・ボックスを表示するユーザー定義エディターを作成します。
package com.your.company.domain.MyPattern.code;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Text;
import com.ibm.broker.config.appdev.patterns.ui.*;
public class MyEditor extends BasePatternPropertyEditor {
private Text text;
@Override
public void configureEditor(PatternPropertyEditorSite site, boolean required, String configurationValues) {
super.configureEditor(site, required, configurationValues);
}
@Override
public void createControls(Object parent) {
Composite composite = (Composite) parent;
text = new Text(composite, SWT.BORDER);
GridData textLayoutData = new GridData(GridData.FILL_HORIZONTAL);
textLayoutData.horizontalIndent = 0;
text.setLayoutData(textLayoutData);
text.addListener(SWT.Modify, new Listener() {
@Override
public void handleEvent(Event event) {
PatternPropertyEditorSite site = getSite();
site.valueChanged();
}
});
}
@Override
public void setValue(String value) {
if (value != null) {
if (value.startsWith("<") == false) {
text.setText(value);
}
}
}
@Override
public String getValue() {
String value = text.getText();
if (value.length() > 0) {
return value;
}
return null;
}
@Override
public void setEnabled(boolean enabled) {
text.setEnabled(enabled);
}
}