Source Code : Simple File Browser in SWT Table

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

Simple File Browser in SWT Table

Simple File Browser in SWT Table
/******************************************************************************
 * Copyright (c) 1998, 2004 Jackwind Li Guojie
 * All right reserved. 
 * 
 * Created on Jan 7, 2004 2:38:45 PM by JACK
 * $Id$
 * 
 * visit: http://www.asprise.com/swt
 *****************************************************************************/



import java.io.File;

import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;

public class SimpleFileBrowser {
  Display display = new Display();
  Shell shell = new Shell(display);

  ImageRegistry imageRegistry;

  Table table;

  public SimpleFileBrowser() {
    init();

    shell.pack();
    shell.open();
    //textUser.forceFocus();

    // Set up the event loop.
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        // If no more entries in event queue
        display.sleep();
      }
    }

    display.dispose();
  }

  private void init() {
    shell.setText("File Browser");
    shell.setLayout(new GridLayout(1, true));
    
    Button button = new Button(shell, SWT.PUSH);
    button.setText("Browse ...");
    button.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        DirectoryDialog dialog = new DirectoryDialog(shell, SWT.NULL);
        String path = dialog.open();
        if (path != null) {

          File file = new File(path);
          if (file.isFile())
            displayFiles(new String[] { file.toString()});
          else
            displayFiles(file.list());

        }
      }
    });

    GridData gd = new GridData(GridData.FILL_BOTH);

    table = new Table(shell, SWT.MULTI);
    table.setLayoutData(gd);

    // creates an image registry and adds icons to the image registry.
    imageRegistry = new ImageRegistry();

    ImageDescriptor defaultIcon =
      ImageDescriptor.createFromFile(null, "java2s.gif");
    imageRegistry.put("default", defaultIcon);

    ImageDescriptor jarIcon =
      ImageDescriptor.createFromFile(null, "img/jar.gif");
    imageRegistry.put("jar", jarIcon);
  }

  public void displayFiles(String[] files) {
    // Removes all existing table items.
    table.removeAll();

    for (int i = 0; files != null && i < files.length; i++) {
      TableItem item = new TableItem(table, SWT.NULL);
      Image image = null;

      if (files[i].endsWith(".jar")) {
        image = imageRegistry.get("jar");
      } else {
        image = imageRegistry.get("default");
      }

      item.setImage(image);
      item.setText(files[i]);
    }

  }

  public void displayFiles2(String[] files) {

    // Disposes all of the images used by the table items first. 
    TableItem[] items = table.getItems();
    for(int i=0; items != null && i < items.length; i++) {
      if(items[i].getImage() != null)
        items[i].getImage().dispose();
    }
    
    // Removes all existing table items.
    table.removeAll();

    for (int i = 0; files != null && i < files.length; i++) {
      TableItem item = new TableItem(table, SWT.NULL);
      Image image = null;

      if (files[i].endsWith(".jar")) {
        image = new Image(display, "java2s.gif");
      } else {
        image = new Image(display, "img/default.gif");
      }

      item.setImage(image);
      item.setText(files[i]);
    }
  }  
  
  public static void main(String[] args) {
    new SimpleFileBrowser();
  }
}



           
       

Thank with us