GridBagLayout y JTextfield
Hola amigos, tengo un problema que me urge bastante.
No se porque, pero algunas veces cuando incluyo JTextField en un GridBagLayout me modifica la longitud original de los JTextField.
Y por más que intento cambiar los margenes y demás no consigo que tengan la misma longitud. Con los margenes he jugado bastante, e incluso les he puesto bordes para ver si se solapan o algo, pero no es el caso.
En fin a ver si me podeis ayudar. Gracias de antemano
No se porque, pero algunas veces cuando incluyo JTextField en un GridBagLayout me modifica la longitud original de los JTextField.
Y por más que intento cambiar los margenes y demás no consigo que tengan la misma longitud. Con los margenes he jugado bastante, e incluso les he puesto bordes para ver si se solapan o algo, pero no es el caso.
En fin a ver si me podeis ayudar. Gracias de antemano
Hola:
En ese tema yo he visto un pequeño problema. El JTextField tiene un tamaño preferido que se obtiene con textField.getPreferredSize().
Ese valor se puede modificar de muchas formas: diciéndole cuantas caracteres se quieren visibles, llamando al método setPreferredSize(), heredando y redefiniendo getPreferredSize para que devuelva el valor que tu quieras, etc, etc.
El GridBagLayout, dentro de lo posible y de los GridBagConstraints que tú pongas, respetará ese valor de PreferredSize. Mientras el panel o ventana sea lo suficientemente grande como para que el JTextField quepa con su tamaño preferido, no tendrás problemas.
Sin embargo, si no hay hueco suficiente para poner ese tamaño, el JTextField se queda de 0 columnas, con lo que queda muy chiquitajo y no se puede escribir en él.
Sólo conozco dos soluciones. La primera es asegurarse que el JTextField siempre tenga hueco suficiente, es decir, meterlo en un panel o ventana lo suficientemente grande.
La otra es poner los GrigBagConstraints de forma que el JTextField se estire para ocupar todo el hueco disponible (en el gridbagcontraints seria fill.HORIZONTAL). Esto hace que su tamaño sea variable, pero siempre tendrá un tamaño que permita hacer algo con él.
Se bueno.
En ese tema yo he visto un pequeño problema. El JTextField tiene un tamaño preferido que se obtiene con textField.getPreferredSize().
Ese valor se puede modificar de muchas formas: diciéndole cuantas caracteres se quieren visibles, llamando al método setPreferredSize(), heredando y redefiniendo getPreferredSize para que devuelva el valor que tu quieras, etc, etc.
El GridBagLayout, dentro de lo posible y de los GridBagConstraints que tú pongas, respetará ese valor de PreferredSize. Mientras el panel o ventana sea lo suficientemente grande como para que el JTextField quepa con su tamaño preferido, no tendrás problemas.
Sin embargo, si no hay hueco suficiente para poner ese tamaño, el JTextField se queda de 0 columnas, con lo que queda muy chiquitajo y no se puede escribir en él.
Sólo conozco dos soluciones. La primera es asegurarse que el JTextField siempre tenga hueco suficiente, es decir, meterlo en un panel o ventana lo suficientemente grande.
La otra es poner los GrigBagConstraints de forma que el JTextField se estire para ocupar todo el hueco disponible (en el gridbagcontraints seria fill.HORIZONTAL). Esto hace que su tamaño sea variable, pero siempre tendrá un tamaño que permita hacer algo con él.
Se bueno.