JFace's TitleAreaDialog
import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.jface.dialogs.*; import org.eclipse.swt.SWT; import org.eclipse.swt.events.*; import org.eclipse.swt.graphics.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; import java.io.*; /** * This class demonstrates JFace's TitleAreaDialog class */ public class ShowMyTitleAreaDialog extends ApplicationWindow { /** * ShowCustomDialog constructor */ public ShowMyTitleAreaDialog() { super(null); } /** * Runs the application */ public void run() { // Don't return from open() until window closes setBlockOnOpen(true); // Open the main window open(); // Dispose the display Display.getCurrent().dispose(); } /** * Creates the main window's contents * * @param parent the main window * @return Control */ protected Control createContents(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new GridLayout(1, true)); // Create the button Button show = new Button(composite, SWT.NONE); show.setText("Show"); final Shell shell = parent.getShell(); // Display the TitleAreaDialog show.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { // Create and show the dialog MyTitleAreaDialog dlg = new MyTitleAreaDialog(shell); dlg.open(); } }); parent.pack(); return composite; } /** * The application entry point * * @param args the command line arguments */ public static void main(String[] args) { new ShowMyTitleAreaDialog().run(); } } /** * This class shows an about box, based on TitleAreaDialog */ class MyTitleAreaDialog extends TitleAreaDialog { // The image to display private Image image; /** * MyTitleAreaDialog constructor * * @param shell the parent shell */ public MyTitleAreaDialog(Shell shell) { super(shell); // Create the image try { image = new Image(null, new FileInputStream("java2s.gif")); } catch (FileNotFoundException e) { // Ignore } } /** * Closes the dialog box Override so we can dispose the image we created */ public boolean close() { if (image != null) image.dispose(); return super.close(); } /** * Creates the dialog's contents * * @param parent the parent composite * @return Control */ protected Control createContents(Composite parent) { Control contents = super.createContents(parent); // Set the title setTitle("About This Application"); // Set the message setMessage("This is a JFace dialog", IMessageProvider.INFORMATION); // Set the image if (image != null) setTitleImage(image); return contents; } /** * Creates the gray area * * @param parent the parent composite * @return Control */ protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); // Create a table Table table = new Table(composite, SWT.FULL_SELECTION | SWT.BORDER); table.setLayoutData(new GridData(GridData.FILL_BOTH)); // Create two columns and show TableColumn one = new TableColumn(table, SWT.LEFT); one.setText("Real Name"); TableColumn two = new TableColumn(table, SWT.LEFT); two.setText("Preferred Name"); table.setHeaderVisible(true); // Add some data TableItem item = new TableItem(table, SWT.NONE); item.setText(0, "Robert Harris"); item.setText(1, "Bobby"); item = new TableItem(table, SWT.NONE); item.setText(0, "Robert Warner"); item.setText(1, "Rob"); item = new TableItem(table, SWT.NONE); item.setText(0, "Gabor Liptak"); item.setText(1, "Gabor"); one.pack(); two.pack(); return composite; } /** * Creates the buttons for the button bar * * @param parent the parent composite */ protected void createButtonsForButtonBar(Composite parent) { createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true); } }
1. | JFace's ProgressMonitorDialog | ||
2. | JFace's MessageDialog | ||
3. | JFace's IconAndMessageDialog | ||
4. | JFace's InputDialog | ||
5. | JFace's ErrorDialog class |