Wenn ich ein Textfeld mit SWT habe, wie kann ich das Feld auf 100% oder eine bestimmte Breite füllen.Wie Textfelder 100% horizontal ausfüllen
Zum Beispiel wird dieses Textfeld nur so viel horizontal erreichen.
public class Tmp {
public static void main (String [] args) {
Display display = new Display();
Shell shell = new Shell (display);
GridLayout gridLayout = new GridLayout();
shell.setLayout (gridLayout);
Button button0 = new Button(shell, SWT.PUSH);
button0.setText ("button0");
Text text = new Text(shell, SWT.BORDER | SWT.FILL);
text.setText ("Text Field");
shell.setSize(500, 400);
//shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
Konstruktor GridData (int) ist veraltet. Verwenden Sie stattdessen "new GridData (SWT.FILL, SWT.CENTER)" – qualidafial
Sie sollten GridData-Objekte nicht erneut verwenden, da sie als Caches für Gitterzellenberechnungen dienen. Die Wiederverwendung von GridData kann zu Layout-Fehlern führen, bei denen mehrere Komponenten, die ein gemeinsames GridData teilen, auf die Größe des kleinsten GridData gekürzt werden. Dies ist in der GridData-Javadoc. – christopheml
Das scheint jetzt falsch (vielleicht hat sich die API geändert?), Der [Konstruktor 'GridData (int width, int height)'] (http://help.eclipse.org/juno/index.jsp?topic=%2Forg. eclipse.platform.doc.isv% 2Freferenz% 2Fapi% 2Forg% 2Feclipse% 2Fswt% 2Flayout% 2FGridData.html) legt minimale Abmessungen fest und kann nicht mit diesen SWT-Konstanten verwendet werden. – Kapep