Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/04/2009, 15:00
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Posicion relativa de componentes en JFrame?

Hola:

En java estándar no hay un layout que permita poner los componentes que quieras donde quieras, aunque hay muchos layouts que permiten muchas configuraciones posibles.

Si quieres que los dos botones vayan junto a la tabla (por ejemplo, encima) y no quieres complicarte mucho la vida, lo más fácil es hacer esto:

- Un panel con un FlowLayout al que añades los dos botones.
- La Ventana debe tener un BorderLayout.
- A la ventana, añádele el panel en el NORTH ( ventana1.add(panel, BorderLayout.NORTH) )
- A la ventana, añádele el JTable en el CENTER (ventana1.add(jtable, BorderLayout.CENTER) ).

Además de NORTH, tienes EAST, WEST y SOUTH según quieras los botones a la derecha, izquierda o debajo de la tabla, pero para poner los botones en vertical a la izquierda o derecha, el panel, en vez de FlowLayout debería tener un BoxLayout.

Si no te gusta la chapucilla del panel, puedes usar un GridBagLayout, pero es algo más complejo de comprender su uso.

En plan chapuza total, puedes poner un layout null, con lo que cual tendrías que dar tu tanto la posicion como el tamaño de cada boton y jtable

ventana1.setLayout(null);
boton.setBounds(x,y,ancho,alto)
ventana1.add(boton)

El problema con esto es que no se recolocarán los botones si redimensionas la ventana o puede que te queden mal colocados si arrancas tu aplicación en otro ordenador con otra resolución de pantalla, en otro sistema opertivo, o con otro tipo de fuente, etc.

Se bueno.
__________________
Apuntes Java
Wiki de Programación