Necesito reemplazar el contenido de la celda de la cuadrícula después de hacer clic en el botón. Por ejemplo: hay Etiqueta y necesito reemplazarla por Texto. ¿Es posible con GridLayout? Necesito usar SWT.¿Cómo reemplazar el contenido de la celda de la cuadrícula en SWT GridLayout?
6
A
Respuesta
8
Usted puede simplemente disponer del Label
y poner un nuevo Text
en su lugar. GridLayout
usa el orden z de los niños para determinar la ubicación en la cuadrícula, por lo que deberá usar moveAbove()
y moveBelow()
en el Text
para obtenerlo en la ubicación correcta. Luego llame al layout()
en el padre. Por ejemplo:
Text text = new Text(label.getParent(), SWT.BORDER);
text.moveAbove(label);
label.dispose();
text.getParent().layout();
Aquí es un widget simple que ilustra exactamente lo que quiero decir:
public class ReplaceWidgetComposite
extends Composite
{
private Label label;
private Text text;
private Button button;
public ReplaceWidgetComposite(Composite parent, int style)
{
super(parent, style);
setLayout(new GridLayout(1, false));
label = new Label(this, SWT.NONE);
label.setText("This is a label!");
button = new Button(this, SWT.PUSH);
button.setText("Press me to change");
button.addSelectionListener(new SelectionAdapter()
{
public void widgetSelected(SelectionEvent e)
{
text = new Text(ReplaceWidgetComposite.this, SWT.BORDER);
text.setText("Now it's a text!");
text.moveAbove(label);
label.dispose();
button.dispose();
ReplaceWidgetComposite.this.layout(true);
}
});
}
}
Cuestiones relacionadas
- 1. ¿Cómo mostramos la cuadrícula en GridLayout?
- 2. ¿Permitir que el contenido de la celda WPF Grid se expanda fuera de la celda de la cuadrícula?
- 3. cómo seleccionar una celda de la tabla SWT
- 4. Cómo formatear la celda de la cuadrícula mediante programación
- 5. ¿Puedo agregar un componente a una celda de cuadrícula específica cuando se utiliza un GridLayout?
- 6. Deshabilitar la edición de celda específica en la cuadrícula Slick
- 7. Cómo alinear la imagen al centro de la celda de la tabla (Tabla SWT)
- 8. Altura de la celda UITableView dinámica basada en el contenido
- 9. contenido del centro de la fundación zurb en la cuadrícula
- 10. Fórmula de Excel para verificar el contenido de la celda
- 11. Reemplazar el contenido de la columna de factores en el marco de datos R
- 12. ¿Cómo reemplazar dinámicamente el contenido de TinyMCE?
- 13. cómo establecer el foco en una celda particular de la cuadrícula de datos WPF toolkit
- 14. Usar GridLayout en Composite desplazado
- 15. La selección y el control deslizante anulan el color de fondo de la celda en un componente de tabla SWT
- 16. AfterInsertRow, setCell. cambiar programáticamente el contenido de la celda
- 17. moveRowAtIndexPath no actualiza el contenido de la celda
- 18. Eliminar el borde de una celda seleccionada en una fila en la cuadrícula de datos
- 19. Excel: reemplazar parte del valor de cadena de la celda
- 20. Cómo dibujar la imagen swt?
- 21. valor de la celda Cambio cuadrícula de datos mediante programación en WPF
- 22. Datos en la celda de la columna para vincular a otra página. Widget de cuadrícula KendoUI
- 23. jQuery Reemplazar el contenido del cuerpo de la tabla
- 24. ¿Por qué el contentpresenter no llena la celda de la cuadrícula?
- 25. ¿Cómo centrar el contenido de las celdas en una cuadrícula de datos?
- 26. ¿Cómo hacer que la celda de la tabla se encoja según el contenido?
- 27. GridView VS GridLayout en aplicaciones de Android
- 28. Selección del contenido de la cuadrícula ExtJS 4
- 29. Cómo actualizar la cuadrícula de datos
- 30. Arrastrando elementos en la vista de cuadrícula
No funciona correctamente. Este código provoca la inserción de la celda de texto después de la etiqueta, pero quería reemplazar la etiqueta. dispose() de alguna manera no elimina la etiqueta de la cuadrícula porque todavía está visible. – alhcr
La eliminación de un widget debería eliminarlo de su principal. Intenta llamar a 'parent.layout (true)'. –
Parece que no funciona así. Tengo shell.layout (verdadero); y sé que funciona porque el texto está insertado y lo veo, pero la etiqueta todavía está visible. ¿Lo usaste en alguna parte y funcionó correctamente? – alhcr