TitelAreaDialg wird falsch dargestellt

schuetzejanett

Erfahrenes Mitglied
Hallo,

habe mir einen Login Dialog angelegt dieser erbt vonJface TitleAre Dialog. Auf diesem Dialg befinden sich 2 labels, 2 textfelder und 2 buttons. Ich habe das Gridbaglayout mit 2 spalten gewählt.
Es wird auch alles dargestellt. Nur ist das erste feld zu weit oben und erst in der zweiten spalte.
siehe bild unten 2. grafik

Füge ich jetzt als erstes ein Label ohne text ein. Sind meine Label und textfelder zwar richtig positioniert aber der raue strich der als tennung zwischen titel und textarea liegt ist verdeckt.
Siehe bild unten grafik 1

Der dialog kommt als erstes Fenster vor einer rcp App deswegen auch parent null

Was mache ich falsch.

Code:
public class DialogLogin extends TitleAreaDialog {

	private Text textName, textPassword;	
	private Label labelState;
	
	public DialogLogin() 
	{
		super(null);		
	}

	/*
	 *fülle weißen bereich - Titleleiste
	 */
	@Override
	protected Control createContents(Composite parent) {
		Control contents = super.createContents(parent);
		setTitle("Login");
		setMessage("Bitte geben Sie Nutzername und Passwort ein");
		//setImage();
		return contents;
	}

	/* 
	 * Füllen des dialogbereiches
	 */
	@Override
	protected Control createDialogArea(Composite parent) {
		Composite composite = (Composite) super.createDialogArea(parent);		
		composite.setSize(300, 300);
	                GridLayout gridLayout = new GridLayout(2,false);
		composite.setLayout(gridLayout);
		
                                //Zusatzlabel damit komponenten richtig positioniert -eigentlich nicht gewollt
                                new Label(composite, SWT.BORDER).setVisible(false);
		
                                   new Label(composite, SWT.NONE).setText("Nutzername: ");
		textName = new Text(composite, SWT.BORDER);
		textName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
		//Aufbau von NutzernameLabel und Textfeld
		new Label(composite, SWT.NONE).setText("Passwort: ");
		textPassword = new Text(composite, SWT.BORDER);
		textPassword.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));	
		 
		labelState = new Label(composite, SWT.NONE);
		 
		composite.pack();
		return composite;
	}

	
	
	/* 
	 * Legt die Buttons für den Dialog an
	 */
	@Override
	protected void createButtonsForButtonBar(Composite parent) 
	{
		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
		//createButton(parent, IDialogConstants.ABORT_ID, IDialogConstants.ABORT_LABEL, false);
		createButton(parent, IDialogConstants.CANCEL_ID, "Abbrechen", false);
	}
 

Anhänge

  • Login-Dialog.JPG
    Login-Dialog.JPG
    26,3 KB · Aufrufe: 20
Zurück