package com.ufc.demo.test13;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.wb.swt.ResourceManager;
import swing2swt.layout.BorderLayout;
import org.eclipse.swt.widgets.List;
import org.eclipse.jface.viewers.ListViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Device;
import java.io.InputStream;
import java.util.ArrayList;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.LabelProvider;
public class tt extends Dialog {
private static Shell shell=null;
public static void main(String[] args) {
tt t=new tt(shell);
t.open();
}
private static class ViewerLabelProvider extends LabelProvider {
@Override
public String getText(Object element) {
return element.toString();
}
@Override
public Image getImage(Object element) {
Image image=null;
image=ResourceManager.getPluginImage("com.test", "icons/Class.png");
return image;
}
}
private static class ContentProvider implements IStructuredContentProvider {
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
// TODO Auto-generated method stub
}
@Override
public Object[] getElements(Object element) {
System.out.println(element.getClass());
if(element instanceof java.util.ArrayList){
return ((java.util.List<String>)element).toArray();
}else{
return new Object[0];
}
}
}
/**
* Create the dialog.
* @param parentShell
*/
public tt(Shell parentShell) {
super(parentShell);
}
/**
* Create contents of the dialog.
* @param parent
*/
@Override
protected Control createDialogArea(Composite parent) {
Composite container = (Composite) super.createDialogArea(parent);
container.setLayout(new BorderLayout(0, 0));
ListViewer listViewer = new ListViewer(container, SWT.BORDER | SWT.V_SCROLL);
List list = listViewer.getList();
list.setLayoutData(BorderLayout.CENTER);
listViewer.setLabelProvider(new ViewerLabelProvider());
listViewer.setContentProvider(new ContentProvider());
java.util.List<String>l=new ArrayList<String>();
l.add("1");
l.add("2");
listViewer.setInput(l);
return container;
}
/**
* Create contents of the button bar.
* @param parent
*/
@Override
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
}
/**
* Return the initial size of the dialog.
*/
@Override
protected Point getInitialSize() {
shell= getShell();
return new Point(450, 300);
}
}
用此代碼可以 處理treetableviewer的圖示
uj5u.com熱心網友回復:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/285205.html
標籤:Eclipse
上一篇:專案配置問題