Esto va con relación al post anterior.
Al parecer Java hace alguna especie de pack()
interno, o al menos he descubierto que es el software de programación y no yo quien es responsable de que mi botón se muestre del tamaño de la ventana y no como yo lo asigno.
No voy a citar imágenes ni códigos pasados porque el presente revela lo que quiero mostrar a la luz. Para esto basta analizar este pequeño código en el constructor de una clase extends Frame
:
Button button = new Button("Heisann");
button.setBackground(Color.MAGENTA);
add(button);
setBackground(Color.CYAN);
setTitle("Hols!");
setSize(256, 256);
button.setSize(64, 64);
System.out.println(button.getSize() );
setVisible(true);
System.out.println(button.getSize() );
y lo que me tira la consola:
[nekrobyte@localhost Prueva]$ javac Prueva.java
[nekrobyte@localhost Prueva]$ java Prueva
java.awt.Dimension[width=64,height=64 ]
java.awt.Dimension[width=246,height=226 ]
[]
Ahh, el último
[]
que puse es para representar al cursor cuadrado que indica dónde se va a insertar el próximo caracter, en realidad no había nada pero es que si tampoco pongo nada siento que no dejo las cosas muy en claro ;-)Tengo que ver qué hago con eso porque no confío mucho en asignar las propiedades a todos mis controles en el futuro después de abrir el telón.
No entiendo, por que no das las soluciones?
ResponderBorrarPlanteo enigmas. Cuando escribía esto aún no lo sabía, ahora que lo leo, tampoco.
ResponderBorraresto pasa por el layout por default que trae ese container, para que no ocurra debes establecer el layout en null, para qe respete tus ordenes...saludos
ResponderBorrar