Por ejemplo, en un panel principal (que tiene FlowLayout por defecto) inserto otro panel con un GridLayout(2, 4) para tener 2 filas y 4 columnas.
Luego en dicho panel nuevo intento insertar un JLabel y 3 JRadioButtons por fila, de forma que quede algo así:
----------------------------------------------------------------|
JLabel1 | JRadioButton1 | JRadioButton2 | JRadioButton3 |
----------------------------------------------------------------|
JLabel2 | JRadioButton4 | JRadioButton5 | JRadioButton6 |
----------------------------------------------------------------|
Pero la cosa es que siempre quedan todos juntos en una fila:
----------------------------------------------------------------------------------------------------------------------------------|
JLabel1 | JRadioButton1 | JRadioButton2 | JRadioButton3 | JLabel2 | JRadioButton4 | JRadioButton5 | JRadioButton6 |
----------------------------------------------------------------------------------------------------------------------------------|
También intenté insertar dentro del panel principal (que tiene FlowLayout) un panel con GridLayout(2,1) [2 filas, 1 columna] y en cada una de las dos filas de ese panel, insertar paneles con GridLayout(1,4), dentro de los cuales pongo el JLabel y los 3 JRadioButtons, pero el asunto sigue igual, mostrándome TODO en una sola fila.
Aquí les dejo mi código, que hace referencia a este último diseño, con el panel de GridLayout(2,1). Estoy omitiendo a propósito los `import' y el método `main()'
Código Java:
Ver original
{ public App() { positionPanels(); panelTab.addTab("Position", panPosition); panelTab.addTab("Design", panDesign); panelTab.addTab("Configurations", panConf); panelTab.addTab("Text", panText); add(panelTab); setSize(540, 580); //pack(); setVisible(true); //setResizable(false); setLocationRelativeTo(null); } private void positionPanels() { //panPos1.setPreferredSize(new Dimension(510, 50)); //////////////////////////////////// /* Panel de opciones 'Vertical' */ //////////////////////////////////// panelVert.add(posVertical); rbTop.setActionCommand("top"); rbMidV.setActionCommand("middle"); rbBottom.setActionCommand("bottom"); // Group radio buttons rbgAlignment1.add(rbTop); rbgAlignment1.add(rbMidV); rbgAlignment1.add(rbBottom); // Add radio buttons to panel panelVert.add(rbTop); panelVert.add(rbMidV); panelVert.add(rbBottom); //////////////////////////////////// /* Panel de opciones 'Horizontal' */ //////////////////////////////////// panelVert.add(posHorizontal); rbTop.setActionCommand("_left"); rbMidV.setActionCommand("_middle"); rbBottom.setActionCommand("_right"); // Group radio buttons rbgAlignment2.add(rbLeft); rbgAlignment2.add(rbMidH); rbgAlignment2.add(rbRight); // Add radio buttons to panel panelVert.add(rbLeft); panelVert.add(rbMidH); panelVert.add(rbRight); panPos1.add(panelVert); panPos1.add(panelHor); panPosition.add(panPos1); }
Aquí les dejo unas imágenes:
Aplicación:
http://img155.imageshack.us/img155/6149/pantallazo1vf.png
Aplicación con preferredSize:
http://img856.imageshack.us/img856/7311/pantallazopw.png