您的位置:首页 > 其它

用 JFace和SWT 构建一个简单的应用程序

2009-12-04 10:35 459 查看

import java.io.*;
import java.util.*;
import org.eclipse.jface.viewers.*;
public class FileTreeContentProvider implements ITreeContentProvider
{
public Object[] getChildren(Object element)
{
Object[] kids = ((File) element).listFiles();
return kids == null ? new Object[0] : kids;
}
public Object[] getElements(Object element)
{
return getChildren(element);
}
public boolean hasChildren(Object element)
{
return getChildren(element).length > 0;
}
public Object getParent(Object element)
{
return ((File)element).getParent();
}
public void dispose()
{
}
public void inputChanged(Viewer viewer, Object old_input, Object new_input)
{
}
}

[/code]
import java.io.*;
import org.eclipse.jface.viewers.*;
import org.eclipse.jface.window.*;
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
public class Explorer extends ApplicationWindow
{
public Explorer()
{
super(null);
}
protected Control createContents(Composite parent)
{
TreeViewer tv = new TreeViewer(parent);
tv.setContentProvider(new FileTreeContentProvider());
// tv.setLabelProvider(new FileTreeLabelProvider());
tv.setInput(new File("C://"));
return tv.getTree();
}
public static void main(String[] args)
{
Explorer w = new Explorer();
w.setBlockOnOpen(true);
w.open();
Display.getCurrent().dispose();
}
}


[/code]
import java.io.*;
import org.eclipse.jface.viewers.*;
public class FileTreeLabelProvider extends LabelProvider
{
public String getText(Object element)
{
return ((File) element).getName();
}
}


[/code]
[/code]


import java.io.*;
import org.eclipse.jface.viewers.*;
import org.eclipse.jface.window.*;
import org.eclipse.swt.*;
import org.eclipse.swt.custom.*;
import org.eclipse.swt.widgets.*;
public class Explorer extends ApplicationWindow
{
public Explorer()
{
super(null);
}
protected Control createContents(Composite parent)
{
SashForm sash_form = new SashForm(parent, SWT.HORIZONTAL | SWT.NULL);
TreeViewer tv = new TreeViewer(sash_form);
tv.setContentProvider(new FileTreeContentProvider());
tv.setLabelProvider(new FileTreeLabelProvider());
tv.setInput(new File("C://"));
final TableViewer tbv = new TableViewer(sash_form, SWT.BORDER);
tbv.setContentProvider(new FileTableContentProvider());
tbv.setLabelProvider(new FileTableLabelProvider());
TableColumn column = new TableColumn(tbv.getTable(), SWT.LEFT);
column.setText("Name");
column.setWidth(200);
tbv.getTable().setHeaderVisible(true);
tv.addSelectionChangedListener(new ISelectionChangedListener()
{
public void selectionChanged(SelectionChangedEvent event)
{
IStructuredSelection selection =
(IStructuredSelection) event.getSelection();
Object selected_file = selection.getFirstElement();
tbv.setInput(selected_file);
}
});
return sash_form;
}
public static void main(String[] args)
{
Explorer w = new Explorer();
w.setBlockOnOpen(true);
w.open();
Display.getCurrent().dispose();
}
}


import java.io.*;

import org.eclipse.jface.viewers.*;
import org.eclipse.swt.graphics.*;
public class FileTableLabelProvider implements ITableLabelProvider
{
public String getColumnText(Object obj, int i)
{
return ((File) obj).getName();
}
public void addListener(ILabelProviderListener ilabelproviderlistener)
{
}
public void dispose()
{
}
public boolean isLabelProperty(Object obj, String s)
{
return false;
}
public void removeListener(ILabelProviderListener ilabelproviderlistener)
{
}
public Image getColumnImage(Object arg0, int arg1)
{
return null;
}
}


[/code]

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐