Mega Code Archive

 
Categories / Java / SWT Jface Eclipse
 

JFaces 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("rntsoft.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);   } }