30/09/2013, 09:06
|
| | Fecha de Ingreso: septiembre-2013
Mensajes: 57
Antigüedad: 11 años, 1 mes 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 |