远方蔚蓝
一刹那情真,相逢不如不见

文章数量 126

访问次数 199888

运行天数 1437

最近活跃 2024-10-04 23:36:48

进入后台管理系统

SWT日期选择控件


import org.eclipse.swt.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
/**
 * eclipse 3.3版本增加了对日期选择控件的支持
 * @author wst 2023228日 上午9:46:25
 *
 */
public class Snippet251 {
	public static void main(String[] args) {
		Display display = new Display();
		final Shell shell = new Shell(display);
		shell.setLayout(new FillLayout());
		Button open = new Button(shell, SWT.PUSH);
		open.setText(" Open Dialog ");
		open.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM);
				dialog.setLayout(new GridLayout(3, false));
				final DateTime calendar = new DateTime(dialog, SWT.CALENDAR | SWT.BORDER);
				final DateTime date = new DateTime(dialog, SWT.DATE | SWT.SHORT);
				final DateTime time = new DateTime(dialog, SWT.TIME | SWT.SHORT);
				new Label(dialog, SWT.NONE);
				new Label(dialog, SWT.NONE);
				Button ok = new Button(dialog, SWT.PUSH);
				ok.setText(" OK ");
				ok.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
				ok.addSelectionListener(new SelectionAdapter() {
					public void widgetSelected(SelectionEvent e) {
						System.out.println(" Calendar date selected (MM/DD/YYYY) = " + (calendar.getMonth() + 1) + " / "
								+ calendar.getDay() + " / " + calendar.getYear());
						System.out.println(
								" Date selected (MM/YYYY) = " + (date.getMonth() + 1) + " / " + date.getYear());
						System.out.println(" Time selected (HH:MM) =  " + time.getHours() + " : " + time.getMinutes());
						dialog.close();
						display.dispose();
					}
				});
				dialog.setDefaultButton(ok);
				dialog.pack();
				dialog.open();
				
				// 监听对话框,如果关闭了就之间关闭display
				dialog.addDisposeListener(new DisposeListener() {
					
					@Override
					public void widgetDisposed(DisposeEvent arg0) {
						display.dispose();
					}
				});
			}
		});
		shell.pack();
		shell.open();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
	}
}