Foros del Web » Programación para mayores de 30 ;) » Java »

Eliminar Espacios entre componentes

Estas en el tema de Eliminar Espacios entre componentes en el foro de Java en Foros del Web. Saludos a la comunidad lo que sucede es que estoy haciendo un mapa de bits y pues tengo que representar una una matriz grafica de ...
  #1 (permalink)  
Antiguo 02/03/2014, 13:33
 
Fecha de Ingreso: septiembre-2013
Mensajes: 57
Antigüedad: 10 años, 6 meses
Puntos: 0
Eliminar Espacios entre componentes

Saludos a la comunidad

lo que sucede es que estoy haciendo un mapa de bits y pues tengo que representar una una matriz grafica de jtextfield de (10 pixeles por 10 pixeles) llenos de colores aleatorios pero me dicen que tengo que eliminar el espacio entre componentes es decir los jtextfield y pues debe quedar asi como en la figura que es de 30*30 pixeles osea 30 cuadros por 30 cuadros de jtextfiel lo maximo de cuadros o jtextfields a mostrar es de 50*50
[URL="http://subefotos.com/ver/?0cb1080d09278a960908da92ce131cbao.png"]http://subefotos.com/ver/?0cb1080d09278a960908da92ce131cbao.png[/URL]

he tratado de graficar la matriz en el mismo Jframe pero me queda mal y no me recibe la dimesiones para los jtextfiel que es de 10*10

[URL="http://subefotos.com/ver/?a02b3fd4f7fbf16222bfb7326c87571do.png"]http://subefotos.com/ver/?a02b3fd4f7fbf16222bfb7326c87571do.png[/URL]

pero si creo otro frame e inserto los jtextfield si los crea pero no elimina los espacios entre ellos, si es posible eliminarlos ?

[URL="http://subefotos.com/ver/?c83e88563fcf9d4792dbbe6e10959457o.png"]http://subefotos.com/ver/?c83e88563fcf9d4792dbbe6e10959457o.png[/URL]


si alguien me puede explicar como hacerlo en el mismo Jframe como la imagen 2 pero que quede bien y si se pueden eliminar los espacios entre los Jtextfield porque en la primera imagen veo que no los tiene

este es el metodo los que esta en comentarios es cuando pruebo en un Frame nuevo y el otros es el mismo frame
aaah y pues cada ves que cambio la dimension de la ventana independiente de si los creo en el mismo frame o en frame nuevo me cambia la dimesion se los jtexfield :s
private void crearJlabels(){
JFrame v = new JFrame();
v.getContentPane().setLayout(new GridLayout(30,30));

this.matrz=new JTextField[30][30];
//this.jpaMatr.setLayout(new GridLayout(30,30, 0,0));
Border border = BorderFactory.createLineBorder(Color.yellow);
for (int i = 0; i <this.matrz.length; i++){
for (int j = 0; j <this.matrz[i].length; j++) {
this.matrz[i][j]=new JTextField();
// this.matrz[i][j].setBorder(new EmptyBorder(4,4,4,4));
// this.matrz[i][j].setBorder(border);
this.jpaMatr.add(this.matrz[i][j]);
this.matrz[i][j].setSize(10,10);
this.matrz[i][j].setVisible(true);
// v.getContentPane().add(this.matrz[i][j]);
}

}
// v.pack();
// v.setVisible(true);
// v.setDefaultCloseOperation(WindowConstants.EXIT_ON _CLOSE);
}
espero me pueden ayudar
  #2 (permalink)  
Antiguo 04/03/2014, 03:32
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Eliminar Espacios entre componentes

Hola:

Los JTextField tiene un método getBorder() que devuelve un Border, ahí están incluidos los márgenes de este componente. Border tiene un método getBorderInsets() y el Inset devuelto tiene un set()... con el que puedes poner todos estos márgenes.

Código Java:
Ver original
  1. para cada jtextfield {
  2.    jTextField.getBorder().getBorderInsets().set(0,0,0,0);
  3. }

Prueba igualmente a llamar al getInsets() del JTextField directamente, no sé si se "suman" a los del border o son lo mismo.

Código Java:
Ver original
  1. jTextField.getInsets().set(0,0,0,0);

El que te cambie o no las dimensiones del array de JTextField dentro de la ventana depende del layout que hayas puesto a la ventana y el espacio disponible. ¿Qué layout tienes en la ventana principal y como añades los tres componentes que tienes (boton, foto y matriz, aparte de los JLabel)

Un consejo, trata de escribir mejor los post, es difícil leerte si pones todo seguido, sin comas, pasando de una idea a otra. Me ha costado decidirme a leerlo y contestar.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Última edición por chuidiang; 04/03/2014 a las 03:39
  #3 (permalink)  
Antiguo 05/03/2014, 20:17
 
Fecha de Ingreso: septiembre-2013
Mensajes: 57
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Eliminar Espacios entre componentes

jajajaj si que pena chuidiang pero es que ya estaba algo afanado porque no lograba solucionarlo, hasta que se me dio la solucion y es que los jtextfield no se les puede aplicar el setbounds en un gestor de organizacion(gridlayout u otros) entonces lo hice facil pinto la matriz de jtextfield en un panel haciendo uso del setbounds(x,y,ancho,alto) ya que el panel funciona tambien con coordenadas dejo el codigo:

Código:
 JPanel  panel=new JPanel(null);
this.jPanel1.add(panel);//lo añado al panel del formulario 
 for (int i = 0; i <this.matrizJText.length; i++){
            for (int j = 0; j <this.matrizJText[i].length; j++){
                this.matrizJText[i][j]=new JTextField();
                //se toma en cuanta que la coordena x y y va ser la se tome en el panel
                this.matrizJText[i][j].setBounds(espacio en x,espacion eny,ancho,alto);
                this.matrizJText[i][j].setEditable(false);
                  this.matrizJText[i][j].setBackground(Color.BLUE);
                panel.add(this.matrizJText[i][j]);
                this.matrizJText[i][j].setVisible(true);
            }
             panel.setBounds(400,190,400,370);
        }
        panel.setVisible(true);
        panel.repaint();
chuidiang men te dejo un mp para ver si me puedes ayudar con algo

Etiquetas: componentes, espacios, metodo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




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