Título: Vector<JLabel > compila pero no se agrega a la ventana. Publicado por: bash en 2 Julio 2012, 17:36 pm Buenas tengo el siguiente codigo , bien disculpen lo de ser tan directo pero me urge aprender ahora estoy leyendo pero me gustaria saber su opinion acerca de como el siguiente codigo puede correr perfectamente. EXPLICACION :tengo un marco (JFrame ) quisiera que el vector de JLabel que tengo se agregue todo dinamicamente. creo que lo hace pero cuando quiero que el componente(JLabel ) aparezca solo aparece el ultimo. AHI ABAJO ESTA EL CODIGO.
gracias y disculpen el desorden . :xD Código
Título: Re: Vector<JLabel > compila pero no se agrega a la ventana. Publicado por: alexg88 en 3 Julio 2012, 22:03 pm Buenas,
Tienes algún error y te voy a hacer alguna sugerencia. El problema lo tienes con el layout. Cada componente en Java que es contenedor de otros componentes tienen lo que se llama el layout, es decir, la forma en que se van a mostrar los elementos que se añadan al componente. El layout por defecto es null (no tiene layout), es decir, tienes que especificar concretamente donde quieres que aparezcan cada uno de los componentes (con el método setBounds, por ejemplo). Es por esto que te aparece sólo el último elemento que añades. En realidad, están todos visibles, pero el último de ellos está encima de todos los demás (están todos en la misma posición). Código
Te recomiendo que uses la clase ArrayList en vez de Vector (es una colección obsoleta). Fíjate que el bucle debe empezar en 1 en vez de en 0, para que te aparezcan bien todas las etiquetas (en el método etiquetas, el primer valor es 1). Si usases el bucle que tu usases, tendrías que tener en cuenta que un array empieza con índice 0 y restarle 1 al valor de i. Te fijarás que uso getContentPane y añado los JLabel allí directamente. En las últimas versiones de Java, es indistinto utilizar el método add de JFrame y el método add del panel contenedor, pero no en versiones antiguas. Con el método setLayout se fija el tipo de layout que quieres usar (yo he elegido FlowLayout, el más sencillo,, pero puedes usar el que desees). Saludos y suerte, Alejandro Título: Re: Vector<JLabel > compila pero no se agrega a la ventana. Publicado por: bash en 4 Julio 2012, 17:15 pm vaya y que lo tenia en frente gracias.
yo pensaba usar al principio Código |