FileDocCategorySizeDatePackage
FileDialogExample.javaAPI DocExample3543Sun Oct 31 09:39:44 GMT 2004None

FileDialogExample.java

import org.eclipse.swt.widgets.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Image;

public class FileDialogExample {
    Display d;
    Shell s;
    FileDialogExample()    {
         d = new Display();
         s = new Shell(d);
        s.setSize(400,400);
        s.setImage(new Image(d, "c:\\icons\\JavaCup.ico"));
        s.setText("A MessageBox Example");
//         create the menu system
        Menu m = new Menu(s,SWT.BAR);
        // create a file menu and add an exit item
        final MenuItem file = new MenuItem(m, SWT.CASCADE);
        file.setText("&File");
        final Menu filemenu = new Menu(s, SWT.DROP_DOWN);
        file.setMenu(filemenu);
        final MenuItem openItem = new MenuItem(filemenu, SWT.PUSH);
        openItem.setText("&Open\tCTRL+O");
        openItem.setAccelerator(SWT.CTRL+'O');
        final MenuItem saveItem = new MenuItem(filemenu, SWT.PUSH);
        saveItem.setText("&Save\tCTRL+S");
        saveItem.setAccelerator(SWT.CTRL+'S');
        final MenuItem separator = new MenuItem(filemenu, SWT.SEPARATOR);
        final MenuItem exitItem = new MenuItem(filemenu, SWT.PUSH);
        exitItem.setText("E&xit");
        
        class Open implements SelectionListener
        {
            public void widgetSelected(SelectionEvent event) {
                FileDialog fd = new FileDialog(s, SWT.OPEN);
                fd.setText("Open");
                fd.setFilterPath("C:/");
                String[] filterExt = {"*.txt","*.doc", ".rtf", "*.*"};
                fd.setFilterExtensions(filterExt);
                String selected = fd.open();
                System.out.println(selected);                    
            }
            public void widgetDefaultSelected(SelectionEvent event)
            {                    
            }
        }
        
        class Save implements SelectionListener
        {
            public void widgetSelected(SelectionEvent event) {
                FileDialog fd = new FileDialog(s, SWT.SAVE);
                fd.setText("Save");
                fileDialog.setFilterPath("C:/");
                String[] filterExt = {"*.txt","*.doc", ".rtf", "*.*"};
                fd.setFilterExtensions(filterExt);
                String selected = fd.open();
                System.out.println(selected);                    
            }
            public void widgetDefaultSelected(SelectionEvent event)
            {                    
            }
        }
        openItem.addSelectionListener(new Open());             
        saveItem.addSelectionListener(new Save());
        
        exitItem.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                MessageBox messageBox = new MessageBox(s, SWT.ICON_QUESTION |
                        SWT.YES | SWT.NO );
                messageBox.setMessage("Do you really want to exit?");
                messageBox.setText("Exiting Application");
                int response = messageBox.open();
                if (response==SWT.YES)
                    System.exit(0);
            }            
        });
        s.setMenuBar(m);
        s.open();
        
        while(!s.isDisposed()){
            if(!d.readAndDispatch())
                d.sleep();
        }
        d.dispose();
    }
}