he navegado alrededor y no han encontrado una solución que se adapta específicamente a mi situación. Tengo un panel que puedo mostrar en un cuadro de diálogo:java BoxLayout panel de
//create dialog panel
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(headerPanel);
panel.add(type1Panel);
panel.add(type2Panel);
panel.add(type3Panel);
panel.add(type4Panel);
panel.add(type5Panel);
panel.add(type6Panel);
int result = JOptionPane.showConfirmDialog(null, panel, "Please enter values.", JOptionPane.OK_CANCEL_OPTION);
El tamaño de los dos últimos paneles, Type5 & type6, son de igual tamaño para que se vean bien. Sin embargo, el encabezado y los primeros 4 paneles son de diferentes tamaños y me gustaría que todos se alineen a la izquierda. Hasta el momento no he encontrado una buena solución para solucionar esto.
La pregunta es, ¿cómo puedo alinear a la izquierda de los primeros 5 paneles, pero no durará 2? Si no, ¿cómo puedo dejarlos alineados? El setalignmentx() no está disponible para paneles. He intentado usar GridLayout, pero el ancho de la ventana principal de la interfaz gráfica de usuario es bastante grande y no encaja bien en la pantalla, de ahí el BoxLayout a lo largo del eje Y. Gracias por cualquier ayuda o sugerencia.
trabajar con esto ahora mismo: headerPanel.setAlignmentX (Component.LEFT_ALIGNMENT); Pero parece ser lo que sea. He visto a personas mencionar para evitar hacer esto. – whitewolfpgh
'El setalignmentx() no está disponible para paneles. -' setAlignmentX() 'está disponible para mí. ¿Podrías aclarar? – Thomas
Bueno, descubrí el problema. Si haces panel.add (headerPanel); luego haz el headerPanel.setAlignmentX (Component.LEFT_ALIGNMENT); no se alineará correctamente Sin embargo, hacer la alineación primero y luego agregar headerPanel al panel del diálogo funciona bien. Imagínate. – whitewolfpgh