📄 enumgenitemdefwizardpage.java
字号:
package com.cownew.enumgenerator.wizards;
import java.util.HashSet;
import java.util.Set;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
public class EnumGenItemDefWizardPage extends WizardPage
{
private static final String LINESEPRATOR = System.getProperty("line.separator");
private Text txtItem;
public EnumGenItemDefWizardPage()
{
super("EnumGenItemDefWizardPage");
setTitle("设定枚举项");
setDescription("在此向导页中设定枚举类有哪些项");
}
public void createControl(Composite parent)
{
Composite container = new Composite(parent, SWT.NULL);
FormLayout layout = new FormLayout();
container.setLayout(layout);
FormData data = new FormData();
data.top = new FormAttachment(0, 0);
data.left = new FormAttachment(0, 0);
data.right = new FormAttachment(100, 0);
data.bottom = new FormAttachment(100, 0);
txtItem = new Text(container,SWT.MULTI|SWT.WRAP|SWT.V_SCROLL);
txtItem.setLayoutData(data);
txtItem.addModifyListener(new ModifyListener(){
public void modifyText(ModifyEvent e)
{
dialogChanged();
}
});
setControl(container);
dialogChanged();
}
public Set<String> getEnumItems()
{
Set<String> set = new HashSet<String>();
String strItems = txtItem.getText();
String[] itemArray = strItems.split(LINESEPRATOR);
for (String item : itemArray)
{
set.add(item);
}
return set;
}
private void dialogChanged()
{
String strItems = txtItem.getText();
if(strItems==null||strItems.trim().length()<=0)
{
updateStatus("请输入枚举项!");
return;
}
String[] itemArray = strItems.split(LINESEPRATOR);
Set<String> set = new HashSet<String>();
for (String item : itemArray)
{
if(item==null||item.trim().length()<=0)
{
continue;
}
if(set.contains(item))
{
updateStatus("项重复:"+item);
return;
}
updateStatus(null);
set.add(item);
}
}
private void updateStatus(String message)
{
setErrorMessage(message);
setPageComplete(message == null);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -