Hasta ahora logré evitar usar el código GridBagLayout
(a mano) tanto como sea posible, pero no pude evitarlo esta vez y estoy leyendo el tutorial de SUN GridBagLayout Hasta ahora no está yendo bien. Creo que estoy mal entendiendo algo.
Por ejemplo I tratar el siguiente código (similar a la que en el post de SUN):¿Por qué GridBagLayout centra mis componentes en lugar de ponerlos en la esquina?
public class MainFrame extends JFrame {
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainFrame frame = new MainFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame
*/
public MainFrame() {
super();
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container mainContainer = getContentPane();
mainContainer.setLayout(new GridBagLayout());
//add label
JLabel someLabel = new JLabel("Label 1:");
GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = 0;
//constraints.anchor = GridBagConstraints.FIRST_LINE_START;
//constraints.weightx = 0.5;
mainContainer.add(someLabel, constraints);
JTextField someText = new JTextField(30);
constraints = new GridBagConstraints();
constraints.gridx = 1;
constraints.gridy = 0;
constraints.weightx = 0.5;
mainContainer.add(someText, constraints);
//
}
}
tengo la etiqueta y el campo de texto una al lado de la otra en el centro del marco.
Pero esperaba que aparecieran en la esquina superior izquierda dado que la cuadrícula y la cuadrícula son 0 para la etiqueta.
Incluso si configuro constraints.anchor = GridBagConstraints.FIRST_LINE_START;
, el resultado es el mismo.
¿Me equivoco aquí?
Desde el puesto del sol:
especificar la fila y la columna en la parte superior izquierda del componente. La columna más a la izquierda tiene la dirección gridx = 0 y la fila superior tiene la dirección gridy = 0.
enlace está roto. – mre
@mre: Enlace fijo – Cratylus
http://madbean.com/anim/totallygridbag/ – keuleJ