Java tutorial
/******************************************************************************* * Copyright (c) 2006 Ultimate Technology, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Bojan Vukojevic - initial API and implementation *******************************************************************************/ package com.ultimatetech.cim.dialogs; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; /** * @author Bojan Vukojevic * */ public class UsernamePasswordDialog extends Dialog { Text usernameValue = null; Text passValue = null; String user = null; String pass = null; public UsernamePasswordDialog(Shell parentShell) { super(parentShell); } protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); createUsernameAndPasswordFields(composite); return composite; } protected void createUsernameAndPasswordFields(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.makeColumnsEqualWidth = false; layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); composite.setLayout(layout); GridData data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_CENTER); data.minimumWidth = 300; composite.setLayoutData(data); composite.setFont(parent.getFont()); GridData gridData = new GridData(); gridData.grabExcessHorizontalSpace = true; gridData.minimumWidth = 150; Label title = new Label(composite, SWT.NONE); title.setText("Enter username and password to connect to CIMOM"); GridData gd = new GridData(); gd.horizontalAlignment = SWT.LEFT; gd.horizontalSpan = 2; title.setLayoutData(gd); Label usernameLabel = new Label(composite, SWT.NONE); usernameLabel.setText("Username:"); usernameValue = new Text(composite, SWT.SINGLE | SWT.BORDER); usernameValue.setLayoutData(gridData); Label passLabel = new Label(composite, SWT.NONE); passLabel.setText("Password:"); passValue = new Text(composite, SWT.SINGLE | SWT.BORDER); passValue.setEchoChar('*'); passValue.setLayoutData(gridData); } protected void configureShell(Shell newShell) { super.configureShell(newShell); newShell.setText("Username and Password"); } protected void okPressed() { user = usernameValue.getText(); pass = passValue.getText(); super.okPressed(); } public String getEnteredUsername() { return user; } public String getEnteredPassword() { return pass; } }