/** @param args */ public static void main(String[] args) { final Display display = new Display(); final Shell shell = new Shell(display); shell.setText("CDateTime"); shell.setLayout(new GridLayout(3, true)); final CDateTime date = new CDateTime(shell, CDT.BORDER | CDT.DROP_DOWN); date.setNullText("<day>"); date.setPattern("dd"); date.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); final CDateTime month = new CDateTime(shell, CDT.BORDER | CDT.DROP_DOWN); month.setNullText("<month>"); month.setPattern("MMMM"); month.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); final CDateTime year = new CDateTime(shell, CDT.BORDER | CDT.DROP_DOWN); year.setNullText("<year>"); year.setPattern("yyyy"); year.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); shell.pack(); Point size = shell.getSize(); Rectangle screen = display.getMonitors()[0].getBounds(); shell.setBounds((screen.width - size.x) / 2, (screen.height - size.y) / 2, size.x, size.y); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }