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;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
public class FileDialogExample {
Display d;
Shell s;
FileDialogExample() {
d = new Display();
s = new Shell(d);
s.setSize(400, 400);
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");
fd.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();
}
public static void main(String[] argv) {
new FileDialogExample();
}
}
|