Cuando configuro GridLayout en JPanel y luego agrego algo, se agrega posteriormente en el "orden de texto" (de izquierda a derecha, de arriba a abajo). Pero quiero agregar un elemento a una celda específica (en la fila i-ésima en la columna j-ésima). ¿Es posible?¿Puedo agregar un componente a una celda de cuadrícula específica cuando se utiliza un GridLayout?
¿Puedo agregar un componente a una celda de cuadrícula específica cuando se utiliza un GridLayout?
Respuesta
No, no puede agregar componentes en una celda específica. Lo que puede hacer es agregar objetos JPanel vacíos y aferrarse a las referencias a ellos en una matriz, luego agregar componentes a ellos en el orden que desee.
Algo así como:
int i = 3;
int j = 4;
JPanel[][] panelHolder = new JPanel[i][j];
setLayout(new GridLayout(i,j));
for(int m = 0; m < i; m++) {
for(int n = 0; n < j; n++) {
panelHolder[m][n] = new JPanel();
add(panelHolder[m][n]);
}
}
Luego, más tarde, se puede añadir directamente a uno de los objetos JPanel:
panelHolder[2][3].add(new JButton("Foo"));
Sí
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2,2,1,1));
JButton component= new JButton("Component");
panel.add(component, 0,0);
Crear su panel y establecer su diseño.
nuevos GridLayout (numberOfRows, numberOfColums, horizontalGap, VerticleGap)
(nueva GridLayout (2,2,1,1)) => Aquí quiero 2 filas, 2 columnas,
- si los hay horizontal huecos (HGap), deberían ser de 1px (1unidad)
- También quiero lo mismo para huecos verticales, así que hago lo mismo que huecos verticales (VGap). es decir, 1 unidad
- En este caso; huecos => espaciado/márgenes/relleno - en ese sentido.
Crear sus componentes y añadirlos al panel
- (componente, 0,0) => 0,0 es la fila y la columna .. (como una matriz 2D).
especifica a dónde va tu componente colocando la fila y la columna donde debería ir.
cada célula tiene una ubicación == [fila] [columna]
O usted puede hacerlo sin hgaps y vgaps:
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2,2));
JButton component= new JButton("Component");
panel.add(component, 0,0);
- 1. ¿Utiliza un sistema de cuadrícula cuando diseña una página web?
- 2. ¿Cómo leer y establecer un valor de una celda específica en una cuadrícula ExtJS?
- 3. Deshabilitar la edición de celda específica en la cuadrícula Slick
- 4. hipervínculo de Excel a una celda específica
- 5. ¿No se puede agregar un componente Swing a varios contenedores?
- 6. cómo agregar un subtexto a una celda de la tabla?
- 7. ¿Cómo puedo agregar una identificación única a una celda personalizada?
- 8. ¿Cómo reemplazar el contenido de la celda de la cuadrícula en SWT GridLayout?
- 9. Cómo agregar un menú desplegable a una celda JTable
- 10. ¿Cómo mostramos la cuadrícula en GridLayout?
- 11. ¿Cómo puedo agregar un hijo a un nodo en una posición específica?
- 12. ¿recuperar el texto en una celda específica en un QTableWidget?
- 13. Cómo agregar un JComboBox a una celda JTable?
- 14. DataGridView: centrar una celda específica
- 15. Silverlight (3.0): ¿Cómo agregar relleno de celdas a una cuadrícula?
- 16. ¿Desechar un componente cuando un formulario dispone?
- 17. Agregar métodos de acción a un componente compuesto
- 18. ¿Cómo creo un hipervínculo de una celda específica de Word a Excel, sin macros/vba?
- 19. retorno 0 cuando un valor de una celda es negativo
- 20. ¿Cómo agregar una información sobre herramientas a una celda en un jtable?
- 21. ¿Puedo evitar que el indicador de divulgación de una celda se vuelva blanco cuando se selecciona?
- 22. ¿Puedo agregar un detector de acciones a un JLabel?
- 23. Parando un temporizador Swing cuando un componente está oculto
- 24. ExtJS 4 - ¿Cómo editar condicionalmente una celda en una cuadrícula?
- 25. UITableView llega a un rastreo cuando se agrega un UILabel con cornerRadius a cada celda
- 26. .htaccess se ignora cuando se utiliza un URI con alias
- 27. Cómo agregar un manipulador de clics a una celda de celdas (o una fila)
- 28. Las columnas están contraídas cuando se utiliza el grupo en la cuadrícula de datos
- 29. Suite XtraGrid: ¿hay alguna manera de agregar un botón o hipervínculo a una celda?
- 30. Componente de cuadrícula/gráfico libre de C#
O, si usted no está atado a 'GridLayout', se pueden utilizar [ 'GridBagLayout'] (http://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html) – bluefoot