1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new GridLayout(1, false));
// Create the CheckboxTableViewer to display the files in the source dir
Composite tableComposite = new Composite(shell, SWT.None);
tableComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
true));
TableColumnLayout layout = new TableColumnLayout();
tableComposite.setLayout(layout);
final CheckboxTableViewer ctv = CheckboxTableViewer.newCheckList(
tableComposite, SWT.BORDER);
ctv.getTable().setHeaderVisible(true);
ctv.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
ctv.setContentProvider(new ArrayContentProvider());
ctv.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
System.out.println(event.getElement() + ", state: "
+ event.getChecked());
}
});
TableViewerColumn fileColumn = new TableViewerColumn(ctv, SWT.LEFT);
fileColumn.getColumn().setText("File Name");
layout.setColumnData(fileColumn.getColumn(), new ColumnWeightData(2));
fileColumn.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
return ((File) element).getName();
}
});
TableViewerColumn sizeColumn = new TableViewerColumn(ctv, SWT.LEFT);
sizeColumn.getColumn().setText("File Size");
layout.setColumnData(sizeColumn.getColumn(), new ColumnWeightData(1));
sizeColumn.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
return Long.toString(((File) element).length());
}
});
File file = new File("C:/");
ctv.setInput(file.listFiles(new FileFilter() {
public boolean accept(File pathName) {
// Ignore directories; return only files
return pathName.isFile();
}
}));
shell.setSize(250, 200);
shell.setText("File test");
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
} |
Partager