Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/09/2013, 09:06
dilan_snoopy
 
Fecha de Ingreso: septiembre-2013
Mensajes: 57
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Problema con JLabel con setBackground y setText (texto fuera del label))

Muchas gracias chuidiang me sirvieron tus consejos aunque no pude hacer con el FlowLayout porque me ponia las etiquetas con texto en linea pero ya di la solucion anexo el codigo por si alguien algun dia le sucede eso se pueda guiar

Código:
 private void crearJLBinarios(int index,String numero){
      String binario=this.mySistemaBinario.getNumeroBinario(index);
      JPanel contenedor=new JPanel(new GridLayout(1,0));
      JFrame ventana=new JFrame("");
      
      JLabel etiquetaNu=new JLabel("Nombre x "+numero.toString());
      etiquetaNu.setBounds(10,40,500,50);
      etiquetaNu.setFont(new Font("Arial",Font.BOLD,12));
      ventana.getContentPane().add(etiquetaNu);
      
      JLabel etiquetaBi=new JLabel("nombre x"+binario.toString());
      etiquetaBi.setBounds(10,150,500,50);
      etiquetaBi.setFont(new Font("Arial",Font.BOLD,12));
      ventana.getContentPane().add(etiquetaBi);
     
      //No se pero si no lo agrego me muestra uno solo de los de arriba
      JLabel jj=new JLabel("");
      ventana.getContentPane().add(jj);
     
      ventana.getContentPane().setBackground(new Color(234,234,243));
      ventana.getContentPane().add(contenedor);
      contenedor.setBackground(new Color(234,234,243));
      ventana.getContentPane().setLayout(new  BorderLayout());
      JLabel vecJL[]=new JLabel[binario.length()];
      
        for (int i=0;i<vecJL.length;i++) {
            Border borde;
            borde=BorderFactory.createLineBorder(Color.BLACK);
            JLabel mostrarBi=new JLabel();
           
            if(binario.charAt(i)=='0'){
                mostrarBi.setText("False");
            }
            else{
                mostrarBi.setText("True");
            }
            mostrarBi.setBackground(java.awt.Color.WHITE);
            mostrarBi.setBorder(borde);
            mostrarBi.setOpaque(true);
            vecJL[i]=mostrarBi;
            if(binario.length()>50){
                 contenedor.setBounds(1,100,120+i*25,25);
            }else{
                 contenedor.setBounds(1,100,410+i*25,25);
            }
            contenedor.add(vecJL[i]);
        }
        pintarJLBinarios(vecJL);
        ventana.setVisible(true);
        contenedor.setVisible(true);
        ventana.setSize(600,400);
    }
Gracias