Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

Ich möchte in einer SWT Anwedung per Button Click ein neues Fenster einblenden, indem ein Textfeld und ein schließen Button abgebildet ist.

Wenn ich auf den Knopf drücke erscheint leider nur eine Leere Shell (ohne Text, Button)...

Weiss jemand wo mein Fehler liegt?


// schnipp...
oButton.addMouseListener( new MouseAdapter()
{
public void mouseDown( MouseEvent e)
{
GridLayout oLayout = new GridLayout();
GridData oGridData = new GridData();

final Shell oShell = new Shell();
oShell.setText( "Eingabe-Maske");
oShell.setLayout( oLayout);

oGridData.heightHint = 200;
oGridData.widthHint = 200;
oShell.setLayoutData(oGridData);

// Create a composite to hold the children
final Composite oComposite = new Composite( oShell, SWT.NONE);

// Text composite
final Text oTextarea = new Text( oComposite, SWT.MULTI);

oGridData = new GridData();
oGridData.heightHint = 150;
oGridData.widthHint = 200;
oTextarea.setLayoutData( oGridData);

// Button composite
final Button oButton = new Button( oComposite, SWT.PUSH);

oGridData = new GridData();
oGridData.heightHint = 50;
oGridData.widthHint = 50;
oButton.setLayoutData( oGridData);

oButton.addMouseListener( new MouseAdapter(){
public void mouseDown(MouseEvent e) {
oText.setText( oTextarea.getText());
oShell.dispose();
}
});

oShell.open();
}
});
// schnapp...
[/PHP]

Gruß,

Markus

PS: Das ganze befindet sich in einem Eclipse Plugin...

Geschrieben

Servus,

probier mal, der Shell ein FillLayout zu geben. Dann wird das Composite darin so gross gemacht wie die Shell. Dann dem Composite noch eine Hintergrundfarbe geben, dann siehst Du, wo was angezeigt wird.

BTW, wieso das Composite? Gib den Widgets doch die Shell als Parent.

Peter

Geschrieben

BTW, wieso das Composite? Gib den Widgets doch die Shell als Parent.

Gute Frage...

Nachdem ich die Shell direkt als Parent genommen habe gings auch komischerweise direkt..

Naja, dankeschön!

Gruß,

Markus

Geschrieben

Du hast der Shell ja auch das Layout gegeben, dem Composite aber nicht. Deshalb wurde dort das Standardlayout verwendet. Welches das ist, kann ich Dir aber aus dem Stegreif nicht sagen.

Das setLayoutData bei der Shell bringt übrigens nichts, da die Shell ja nicht im Layout ihres Parents liegt.

Peter

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...