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.
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);
}