Soy nuevo en Java Swing y he estado luchando para iniciar el GridBagLayout desde la esquina superior izquierda para que c.gridx = 0 c.gridy = 0 ponga mi objeto en el Esquina superior izquierda.Iniciando GridBagLayout desde la esquina superior izquierda en Java Swing
lo agradecería si me pudiera ayudar al decirle lo que tengo que hacer después de este punto:
JPanel panel = new JPanel(new GridBagLayout());
frame.add(panel);
GridBagConstraints c = new GridBagConstraints();
sé que tengo que usar noroeste, o FIRST_LINE_START constantes, pero no sé cómo . Intenté hacerlo de esta manera ", pero no se dio cuenta de las constantes.
frame.getContentPane().add(panel, BorderLayout.NORTHWEST);
Gracias por su ayuda.
@Emir: Usted puede hacer eso, aunque me parece que es generalmente agradable para mantener el panel en una clase separada de la estructura que lo sostiene. Si lo hace, ni siquiera necesita extender JFrame, solo necesita agregar el panel a un JFrame recto. Si usas 'frame.add() ',' frame.setLayout() ', etc. lo que está haciendo es delegar las llamadas a un panel especial llamado" panel de contenido ". –
¡Gracias, todo lo que tenía que hacer era la magia weighty-weighty! – Emir
@MarkPeters ¿Se puede hacer esto sin un Marco? Tengo mi GridBagLayout incrustado dentro de DeckLayout, y el Frame no funcionaría para mí. CUALQUIER ayuda que puedas proporcionar sería genial. Me estoy cansando un poco o jugando con Layouts (tengo el problema exacto del póster original) – theJollySin