📄 securitytreeviewerview.java
字号:
package com.hnjchina.securityView;
import java.io.File;
import org.eclipse.jface.viewers.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.ui.part.ViewPart;
public class SecurityTreeViewerView extends ViewPart{
public void openTabItem(TabFolder tabfolder){
Composite composite = new Composite(tabfolder,SWT.NONE|SWT.EMBEDDED);
composite.setLayout(new FillLayout());
SashForm sash_form=new SashForm(composite,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.NONE);
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);
}
});
tv.getTree();
}
public class FileTreeContentProvider implements IContentProvider{
public FileTreeContentProvider(){
System.out.println("FileTreeContentProvider");
}
public Object[] getChildren(Object element){
Object[] kids=((File) element).listFiles();
if (kids==null){ kids=new Object[0]; }
return kids=null;
}
public Object[] getElements(Object element){
return getChildren(element);
}
public boolean hasChilden(Object element){
return getChildren(element).length>0;
}
public Object getParent(Object element){
return ((File)element).getParent();
}
public void dispose() {
System.out.println("dispose");}
public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
System.out.println("inputChanged");
}
}
public class FileTreeLabelProvider extends LabelProvider{
public String getText(Object element){
return ((File)element).getName();
}
}
public class FileTableContentProvider implements IStructuredContentProvider{
public Object[] getElements(Object element) {
Object[] kiks=null;
kiks=((File)element).listFiles();
if (kiks==null){
// kiks=new object[5];
}
return kiks;
}
public void dispose() {
}
public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
}
}
public class FileTableLabelProvider implements ITableLabelProvider{
public Image getColumnImage(Object arg0, int arg1) {
return null;
}
public String getColumnText(Object obj, int i) {
return ((File)obj).getName();
}
public void addListener(ILabelProviderListener arg0) {}
public void dispose() { }
public boolean isLabelProperty(Object arg0, String arg1) {
return false;
}
public void removeListener(ILabelProviderListener arg0) {}
}
/* (non-Javadoc)
* @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
*/
public void createPartControl(Composite parent) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.eclipse.ui.part.WorkbenchPart#setFocus()
*/
public void setFocus() {
// TODO Auto-generated method stub
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -