Problemas diseño con swing
Buenas a todos !
Estoy empezando una aplicacion en java con modo grafico ( swing ) y mi duda esta en como puedo hacer para que los JComponents que voy colocando dentro de los Panel o los Layouts no ocupen todo el espacio del JFrame.
Por ejemplo si me creo un GridLayout de 3 x 3 y le meto 6 lables o textfields, estos me ocupan todo el frame.
He probado varias cosas como :
- hacer boton.setMaximumSize(dim) donde dim es un Dimension de un alto y un ancho adecuado.
- hacer mas filas y columnas en el GridLayout para ver si les deja un espacio, pero todo lo que esta vacio no ocupa espacio.
- provar con distintos Layouts...
El caso es que siempre se expanden los componentes. Como puedo hacer para fijar el tamaño de los componentes ? Como podria poner bordes a un JFrame o a un Panel ?
Por cierto, como se añade un componente a una posicion determinada de un GridLayout ??
Merci !
Estoy empezando una aplicacion en java con modo grafico ( swing ) y mi duda esta en como puedo hacer para que los JComponents que voy colocando dentro de los Panel o los Layouts no ocupen todo el espacio del JFrame.
Por ejemplo si me creo un GridLayout de 3 x 3 y le meto 6 lables o textfields, estos me ocupan todo el frame.
He probado varias cosas como :
- hacer boton.setMaximumSize(dim) donde dim es un Dimension de un alto y un ancho adecuado.
- hacer mas filas y columnas en el GridLayout para ver si les deja un espacio, pero todo lo que esta vacio no ocupa espacio.
- provar con distintos Layouts...
El caso es que siempre se expanden los componentes. Como puedo hacer para fijar el tamaño de los componentes ? Como podria poner bordes a un JFrame o a un Panel ?
Por cierto, como se añade un componente a una posicion determinada de un GridLayout ??
Merci !
Si utilizas el NetBeans para programar puedes utilizar el AbsoluteLayout, que te permite posicionar los elementos en lugares espceificos (fila, columna), similar a lo de Visual Basic.
con el boton derecho del raton sobre la ventana selecccionas en la opcion de setLayout seleccionas absolute layaut y a funcionar espero que te funcione.chao
lo que te puede ayudar son los bordes, unicamente los tienes que añadir a los paneles que tengas de esta forma:
JPanel panel=new JPanel();
panel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
los valores que les pasas son las distancias a los lados que quieres que se separe este panel del frame o de otro componente al lado
no impotra que tipo de layout tenga el panel
JPanel panel=new JPanel();
panel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
los valores que les pasas son las distancias a los lados que quieres que se separe este panel del frame o de otro componente al lado
no impotra que tipo de layout tenga el panel
