Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Tarea repetitiva para crear botones (http://www.forosdelweb.com/f45/tarea-repetitiva-para-crear-botones-564448/)

N3uRo 10/03/2008 04:18

Tarea repetitiva para crear botones
 
Pues eso, quiero que haciendo una tarea repetitiva (ej: un for) se creen X botones en X posiciones... Sabeis alguna forma?

Muchas gracias

Snd234 10/03/2008 09:24

Re: Tarea repetitiva para crear botones
 
Igual depende del tipo de contenedor que uses, en el caso de un Flowlayout simplemente hay que agregarlos al panel y listo, no hay que especificar posiciones ni nada.
Código:

import javax.swing.JButton;
import javax.swing.WindowConstants;

public class Ventana extends javax.swing.JFrame {
    int numeroBotones = 10;
    public Ventana() {
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(new java.awt.FlowLayout());
        for(int i = 0; i <= numeroBotones; i++) {
            System.out.println(i);
            getContentPane().add(new JButton("Boton" + i));
        }
        pack();
    }
   
    }

    public static void main(String args[]) {
        new Ventana().setVisible(true);
    }
   
}

En caso de que uses algún contenedor que soporte ubicar los componentes en algunas coordenadas, solo tendrías que hacer unas variables para esos datos y dentro del ciclo for aplicárselas a los componentes, luego incrementas esos valores antes de terminar el for.

N3uRo 10/03/2008 14:33

Re: Tarea repetitiva para crear botones
 
Vale muchas gracias, eso es lo que quería

Un saludo

N3uRo 10/03/2008 16:27

Re: Tarea repetitiva para crear botones
 
Y si luego quiero ponerles un tooltiptext o añadirles un evento para cuando se haga click en ellos?

Es que se supone que se hace una consulta sql y depende la cantidad que devuelva pues saldra una cantidad de botones determinada los cuales al hacer click en ellos abriran otro frame con diferente información...

A ver si me puedes ayudar

Un saludo


La zona horaria es GMT -6. Ahora son las 09:44.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.