Si tengo un campo de texto con SWT, ¿cómo puedo hacer para que el campo se llene al 100% o al ancho especificado?Cómo tener campos de texto llenos 100% horizontalmente
Por ejemplo, este campo de texto solo abarcará tanto en sentido horizontal.
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();
}
}
Constructor GridData (int) está en desuso. Use "new GridData (SWT.FILL, SWT.CENTER)" en su lugar – qualidafial
No debe reutilizar los objetos GridData ya que actúan como cachés para los cálculos de celdas de cuadrícula. La reutilización de GridData puede generar errores de diseño donde varios componentes que comparten un GridData común se truncan al tamaño de uno más pequeño. Esto está en javadoc de GridData. – christopheml
Esto parece estar mal ahora (¿quizás la API ha cambiado?), El [constructor 'GridData (int ancho, int alto)'] (http://help.eclipse.org/juno/index.jsp?topic=%2Forg. eclipse.platform.doc.isv% 2Freference% 2Fapi% 2Forg% 2Feclipse% 2Fswt% 2Flayout% 2FGridData.html) establece las dimensiones mínimas y no se puede utilizar con estas constantes SWT. – Kapep