Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/04/2009, 10:10
Avatar de Azrael666
Azrael666
 
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 6 meses
Puntos: 1
Posicion relativa de componentes en JFrame?

Hola, estoy empezando con java, por el momento me he metido solo en modo consola, accesos a base de datos, inserciones, mostrar listados, generar ficheros de texto, movier/copiar/borrar directorios/ficheros etc. y parace que mas o menos es "facil".

Ahora me estoy metiendo en la parte de sacar ventanitas, meterles botones, listas etc, me he hecho una aplicacion que saca los datos de una tabla de la base de datos y los pasa a un JTable, que a su vez lo mete en un JFrame. La aplicacion ejecuta y me muestra los datos.

A partir de ahi, me he creado una clase "Ventana" para no tener que escribir tanto en pantalla para meterle titulos y demas:

Código:
import java.awt.*;
import javax.swing.*;


public class Ventana extends JFrame {
   FlowLayout capa;
   
   public Ventana(String titulo,int largo, int alto,boolean principal)
    {
       this.capa = new FlowLayout(FlowLayout.LEFT, 5,10);
       setTitle(titulo);
       getContentPane().setLayout(this.capa);
       setLocationRelativeTo(null); // centrar en pantalla
       setLocation(400, 200);
       setResizable(false);
       setSize(largo,alto);
       if (principal) setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }



  public void aniadeComponente(Component componente)
  {
       add(componente,BorderLayout.SOUTH);

  }

  public void lanzar()
  {
      setVisible(true);
  }

  public void cerrar()
  {
      setVisible(false);
  }

 
}
Vale, eso funciona, pero al hacer por ejemplo (no pongo todo el codigo de generar tabla y botones):

Código:
Ventana ventana= new Ventana("ventana principal",600,300,true);
ventana1.aniadeComponente(tabla);
ventana1.aniadeComponente(boton1);
ventana1.aniadeComponente(boton2);
me lo muestra todo seguido, sin orden.

Habría alguna forma de pasarle una posicion (x,y) donde quiero que vaya el componente dentro del JFrame (o de la capa)? Algo para modificar el aniadeComponente con AniadeComponente(componente,x,y) ?

EDITO:
Supongo que será cuestion de cambiar el FlowLayout por otro componente que lo soporte, pero no se cual puedo usar....

No me machaqueis mucho si el codigo está mal que ya os digo que llevo 4 dias con java

Un saludo.
__________________
ALOZORRO v5.0 (ahora en .es)

Última edición por Azrael666; 14/04/2009 a las 10:18